发布网友 发布时间:2022-05-30 17:25
共2个回答
热心网友 时间:2023-10-22 02:38
这不是二进制的事! 这只是计算机闹得怪!
按照二进制的算术规则,这式子的结果,应当是-1。
但是在计算机中,做这个运算时,有一点不同。
在计算机中相减,如果不够减,是可以从左边借位的。
即使,0 的左边,什么也没有,它也可以借!
那么,借一当二,那么,0-1 的差,必然就是 1 了。
呵呵,这结果,千万别让你的小学老师看到啊!
----------------------
0-1,在这个式子中,被减数,仅仅写了一个 0。
而在计算机中,计算机的字长是多少,就有多少个 0。
在八位机中,这就是八个零:0000 0000。
那么,0-1,显然不够减,那就逐位的向左边借、借、借 ...
最终的八位结果,就是:1111 1111。
-1,在计算机中的补码,就是这么算出来的。
热心网友 时间:2023-10-22 02:38
举个例子吧,假设寄存器是32位的,现在的CPU有64位的,但32位的操作系统,执行时是用32的寄存器,寄存器向下兼容。