flat assembler
Message board for the users of flat assembler.
Index
> Main > Bug in calculation with big numbers |
Author |
|
typedef 29 Apr 2011, 04:44
I get
02305843009213693951 06917529027641081855 0691752902)*,/0(/(+) 0576460752-0-,.-,((/ 0000000000000000000/ Where is the bug ? is it here == 0xFF ? |
|||
29 Apr 2011, 04:44 |
|
revolution 29 Apr 2011, 04:55
I use this for displaying decimal numbers:
Code: macro display_decimal value { local leading_zero,digit,divisor,number number=value if number=1 shl 63 display '-9223372036854775808' else if number<0 number=-number display '-' end if leading_zero=0 divisor=1000000000000000000 while divisor>0 digit=number/divisor leading_zero=leading_zero+digit if leading_zero | (divisor=1) display digit+'0' number=number-digit*divisor end if divisor=divisor/10 end while end if } macro display_unsigned value { local number number=value if number<0 number=number-10000000000000000000 if number<0 number=number+1000000000000000000 display '9' else display '1' end if end if display_decimal number } |
|||
29 Apr 2011, 04:55 |
|
SPTH 29 Apr 2011, 05:14
Ahh, I didnt know that FASM variables use the highest bit as sign.
Thanks for the fast answeres! |
|||
29 Apr 2011, 05:14 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.