int类型在内存中的存储方式、取值范围、溢出

本文介绍了整型数据在内存中的存储方式,包括原码、反码和补码的概念,并详细阐述了有符号int类型的取值范围,从-2^31到2^31-1。同时,讨论了溢出问题,分析了上溢和下溢的现象及其原因。此外,还提及了无符号整型unsigned int的取值范围0~2^32-1及其溢出情况。
摘要由CSDN通过智能技术生成

存储方式

整型数据都以补码的形式储存在内存中。
使用补码能方便的进行运算,具体的方式本文就不做详细分析了,可参考https://blog.csdn.net/changgui5211/article/details/46779441

有符号类型最高位位符号位,0代表正数,1代表负数.

原码:

除了符号位,其余是数据的绝对值的二进制数
例子:若机器字长n等于8,则

[+1]原=0000 00001 [-1]原=1000 00001

[+127]原=0111 1111 [-127]原=1111 1111

[+45]原=0010 1101 [-45]原=1010 1101

反码:

正数的反码和补码都和原码一样. 负数的反码是除了符号位,其余的对其原码逐位取反
例子:若机器字长n等于8,则

[+1]反=0000 00001 [-1]反=1111 1110

[+127]反=0111 1111 [-127]反=1000 0000

[+45]反=0010 1101 [-45]反=1101 0010

补码

正数和原码一样,负数的补码=其反码+1
例子:若机器字长n等于8,则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值