溢出现象出现的原因
因为计算机的底层储存是由二进制进行存储 所以在定点存储中会出现数字溢出的现象。
什么是溢出现象? 举例说明 如int型数据 因为其在内存中只占4个字节 所以其只有32位二进制位来进行存储,当数字超出这个范围时他就会溢出。31位全是1时其为2147483647当其加1时就会变成首位是1后面31个0的情况。而首位又代表符号位 所以其是变成了个负数 经过从补码到原码的转换后其变成 -2137483648了这就是溢出现象的原因。
如图:
而在-2147483647-1时其会吧溢出的的项进行舍弃 所以还是-2147483648.而-2147483648再进行-1时同理溢出后符号位变成0但是还是经过补码到原码的转换 所以转换后的数就是2147483647.