【C语言】整数存储、大小端概念

文章目录


整数存储

在计算机中,整数都是通过二进制保存的,不论是十六进制还是八进制还是十进制

整数的2进制表⽰⽅法有三种,即原码、反码和补码

对于整形来说:数据存放内存中其实存放的是补码

  • 在计算机系统中,数值⼀律⽤补码来表⽰和存储。
  • 原因在于,使⽤补码,可以将符号位和数值域统⼀处理;
  • 同时,加法和减法也可以统⼀处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

正整数的反码补码就是它本身

但是负整数的反码补码不一样,以-1举例

int a = -1;
//100000000000000000000001 - 原码
// 原码->反码:除符号位,所有位取反
//111111111111111111111110 - 反码 
// 反码->补码:反码加一
//111111111111111111111111 - 补码

因为负整数-1的补码存储形式,我们可以利用操作符~来判断输入是否成功

int a;
while (scanf(&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值