姜咏江
机器数是限位数。随便给出两个机器数怎样判断大小呢?
如果认定是无符号数,那么从高位数码开始,逐一向低位比较,只要某数码较大,那么它所在的数就大。例如,1456280与6460000是无符号数,自然知道6460000>1456280。
如果认定是有符号数,那么1456280是一个正数,6460000是个负数,因此有6460000<1456280。
再举一例。
有符号机器数9999102和501谁大谁小呢?判断的方法是将它们先等值变换成相同的位数,然后再进行比较。
由“最高位大于等于5是负数”知,这是两个负数。故9999102=9102,501=9501,在“对称制中同号两数限位数越大,表示的值越大”,故9102<9501 即 9999102<501。
实际上,9999102的值是-898,501的值是 -499,根据“负数的绝对值较大的反而越小”知道机器数9999102<501是正确的。
总结一下:
1. 正数大于零和负数;
2. 零大于负数;
3. 符号和位数分别相同的机器数,限位数大的值也大。
此方法适用于任何进制的机器数。
2010-6-30
https://blog.sciencenet.cn/blog-340399-340131.html
上一篇:
计算机中的反码与反数下一篇:
机器数间的距离