-32768的补码等于多少?原码又是?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 02:30:58
-32768的补码等于多少?原码又是?
xTrQI $be;7)J]F@ ȃ˔3 }/{Afԭ~sD*~XЫs~ Q#cdՙBBψ9+~|C>J3~_:;oNBy9v'ycYňZUaG뱹~k`U3$h13 zX`^7upJ/LZ DǭhB rp4F(bvǷT!&(՞FaNAg~p #r1:V*E+%آugI6ɤ6Ykq*w %Cwf ">NQ8O 2j؟fL2. } #aS!:% I@#YKcM rAJTn86QSR0xG G"c${& Y(O;C{lՋWע8~=R F¿wKQqd$(^=BoH[oIH@d|n݂R@K1=G 5U 7#u7WMW! )D˜K:Iw

-32768的补码等于多少?原码又是?
-32768的补码等于多少?原码又是?

-32768的补码等于多少?原码又是?
你应该考虑的是16位的有符号整数(int)吧
在计算机中是用补码存储数据 为什么不用原码存 就是因为原码表示不了最小值-32768
如果是原码表示的话,编码中+0是用16个0表示,-0是用1后跟15个0表示
但是由于+0等于-0所以相当于多花了一个编码来编码0
那么用补码会怎样
补码+0编码出来是16个0
-0 = [1000000000000000]原 = [1111111111111111]反 = [(1)0000000000000000]补
其中1溢出不管了 剩下的是16个0与+0编码相同
这样一来用16位进行编码如果按原码编码可以覆盖-32767~32767[1111111111111111~0111111111111111]
而用补码编码只覆盖到[1111111111111111~0111111111111111]其中[1000000000000000]编码不到
于是规定了用它表示最小值-32768
因此,在考虑16位有符号整数时,-32768只有补码[1000000000000000]没有原码
当然如果你考虑的是大于16位来编码的话-32768肯定能正常编码,如上面所示,用计算器换算原码补码就那结果
但是那显然是大于了16位来考虑的