发布网友
共3个回答
热心网友
32769 的二进制码为 01000000000000001 是十七位(第一位表示符号)
机器只有16位,最高位,会溢出,就变成了1000000000000001
第1位表示正负 (1负,0正)
1000000000000001 (32769)会被当做负数处理
负数的源码: 绝对值,再最高位补1 就是 1000000000000001
负数的反码:除符号位全部取反 就是 1111111111111110
负数的补码:反码+1 就是 1111111111111111
-32769是一样的,符号位溢出了,和上面一样
热心网友
16位数,如果带符号的话,那可以表达的数是-32768到32767之间,32769这个数在转换过程中会溢出。
热心网友
假定某台计算机的机器数占 16 位,
--早期,八位计算机,也能使用 16 位的操作数。
--某一个数较大,一次算不完,就多算几遍。
--就是说:计算机的机器数,有多少位,无关紧要。
--关键是:你的内存,有多大!
--
写出十进制数 32769 和-32769 的原码、反码和补码?
--这俩数,已经超出 16 位数的表示范围了。
--必须用 32 的操作数来表示。
--那么,你自己,就应该可以解决了。