为什么10000000表示的是-128

(104条消息) 『踩坑记录』为什么10000000表示的是-128_爱喝可乐的炸鸡的博客-CSDN博客_10000000为什么是-128

==================

这个值并不能用普通的取反加1来计算,而是一个规定

===================

补码的计算方法:

忽略符号位,对绝对值取反,然后对取反的结果加1

-------------------

如-127:因为是负数,所以符号位为1,绝对值为127(111 1111)

取反 000 0000

再加              1

结果 000 0001

再在最左侧加上符号位1,所以-127的补码是 1000 0001。

=====================

在带符号整数表示法中,规定一个字节中,最高位是符号位,

所以,计算机中+0和-0的编码是不一样的,

+0的编码是:0000 0000;-0的编码是:1000 0000。

================

于是将1000 0000规定为-128,这样就可以让有符号数多一个有用的数据。

这个值并不能用普通的取反加1来计算

===============

而且1000 0000是-128刚好也可以满足相关的基本运算

例:

-127(1000 0001) + (-1)(1111 1111) = -128(1000 0000)

电脑技术 2022-04-30 10:32:33 通过 网页 浏览(368)

共有0条评论!

发表评论

更换一道题!