上面汇编代码表示, 我用有符号变量 % 一个80000007h,得出的结果如果不是负数(jns)那么余数就是正数,直接跳走了
首先我说下为什么是 800...7h
上面也说过了,要保留符号位
那么8则是符号位...,这个则是保留指数位.
800...7h换算成二进制表达形式为:
10000000000000000000000000000111
高位为符号位,低3位为指数位(当然不是固定的,它的指数位是 2^n-1...我们看到一个16进制的数字 0FFFFFFF8h,那么是什么意思那?...我们上面说过了,保留了符号位,符号位置为1,还有保留指数位 (2^n - 1)
那么这个时候, 这个值就是 把中间的值变为1,保留(2^n-1的位数)
11111111111111111111111111111000...这个则是无分支求绝对值的代码.