c里面~5等于多少,怎么算的?

票的灵感 1年前 已收到1个回答 举报

jack0125 幼苗

共回答了16个问题采纳率:93.8% 举报

按位取反
操作系统一般用补码存储数值
5= -6;
i = -(i+1);

1年前 追问

9

票的灵感 举报

为什么不是2?

票的灵感 举报

不明白,为什么出来个补码?

举报 jack0125

为什么会是2?

票的灵感 举报

不是按位取反吗?5的二进制不是101吗,取反后不是10吗,这是怎么回事啊,求指教~

举报 jack0125

噢,不能这么理解。计算机不会只用三位二进制数去存一个数的。以八位机为例,当然家用机一般都是32位机,用八位二进制存一个数 5 = 00000101B ~5 = 11111010B 通常计算机用补码存一个数,最高位用于表示正负, 正数的补码就是它本身 如5 就是 00000101, 负数则是按位取反后加1 ,-6则是 00000110 按位取反后 11111001 再加1 就是11111010B 刚好和~5一样。有点绕,花时间看看书。不管是计算机语言,还是计算机系统,开篇就会讲。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.030 s. - webmaster@yulucn.com