礼品代发网

礼品代发网

收录130107113题,礼品代发网免费搜题解答

今日已更新0道题

1为什么输出65535-65535为什么是-1

2025-11-20 05:19:02  

1为什么输出65535-65535为什么是-1

优质解答

因为计算机用补码算数,当两个最大正数相减时,结果会变成-1。比如8位数255-255等于-1,16位数65535-65535也这样。这是补码表示负数的方式决定的,就像满罐再倒水会溢出一样。

计算机用补码存负数,比如8位数的-1用11111111表示。当255(11111111)减255时,先算1111等于00000000,但借位没地方放,所以高位自动进位变成10000000,这正好是-128的补码。但16位数是借位到更高位,结果变成1000,对应-32768?不对啊,这里好像哪里错了。哦原来16位数的-1是1111,所以65535-65535等于-1。就像满的16位数再减1就会变成-1,就像满的杯子倒空再倒空还是空,但这里用负数表示,所以显示-1。

本题链接:

1. 补码运算溢出机制