C语言原码补码问题
C语言原码补码问题
日期:2021-10-27 03:51:48 人气:1
你的这个是16的,我可以给你用8位解释一下(原理是一样的,我打起来比较方便~)
我们知道,8位二进制的补码表示范围是-128~127对吧。
而在计算机中数据都是以二进制补码进行存储的,那么-128的存储方式就是1000 0000,而它是没有原码和反码的,所以你不太能验证,对吧。
这是因为在计算机中,为了溢出特意定义的一个小玩意儿~
所以放到16来解释,它的最小值也是-32768。
但这已经是最小的数了,再减就会溢出……(理论上是这样的)<