2025-11-20 05:30:08
咱们学过计算机里用补码表示负数,那-128的二进制是1000 0000对吧?因为8位二进制能存的最大正数是127(0111 1111),所以-1就得用1111 1111表示。但-128比-1还小,这时候得特殊处理,就像量杯装不下就换大容器一样,必须用最高位1来标记负数。
你看啊,8位二进制原码里,最高位1代表负数,剩下的7位是数值。那-128的原码就是1000 0000,这时候反码是1111 1111,加1变成1000 0000,刚好和原码一样。这就好比说-128的绝对值128太大了,7位不够用,必须让最高位同时表示符号和数值。数据手册里写着,8位补码范围是-128到127,所以-128只能占1000 0000这个唯一能表示的最小值。就像手机电量显示-100%其实代表满电,这里也是用最高位1来占位,实际计算时再取反加1还原。
本题链接: