双精度运算溢出了,用汇编长整数运算代替
开始运行被调试程序
* “path” | “1” | 1 | “”
* “value” | 8007897858976767596 | 真
* “8007897858976767596”
被调试易程序运行完毕
|
PB_uint | 长整数型 | | |
pb | 字节集 | | | | i | 整数型 | | | | j | 长整数型 | | | | value | 长整数型 | | | | len | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | lr | 长整数型 | | | lrr1 | 文本型 | | | lrr2 | 文本型 | | | a | 大数 | | | 循环判断首 () i = i + 1 如果真 (i > len )跳出循环 ()
value = int64_add (value, int64_mul (位与 (pb [i ], 127 ), j )) j = j × 128 循环判断尾 (pb [i ] > 127 ) 调试输出 (“value”, value, value = 到长整数 (“8007897858976767596”)) 返回 (value )置入代码 ({ 93, 139, 68, 36, 4, 3, 68, 36, 12, 139, 84, 36, 8, 19, 84, 36, 16, 194, 16, 0 })返回 (0 )置入代码 ({ 93, 255, 116, 36, 16, 255, 116, 36, 16, 255, 116, 36, 16, 255, 116, 36, 16, 232, 3, 0, 0, 0, 194, 16, 0, 139, 68, 36, 8, 139, 76, 36, 16, 11, 200, 139, 76, 36, 12, 117, 9, 139, 68, 36, 4, 247, 225, 194, 16, 0, 83, 247, 225, 139, 216, 139, 68, 36, 8, 247, 100, 36, 20, 3, 216, 139, 68, 36, 8, 247, 225, 3, 211, 91, 194, 16, 0 })返回 (0 )
|