C语言:计算机中的原码、反码、补码

C语言:计算机中的原码、反码、补码

进制转化

计算机底层存储具体数字时使用的是二进制形式,但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字,而是存储该数字对应二进制数字的补码。

10进制转2进制:不断除2得余数,直到商为0,然后将每步得到的余数倒写。

//例子:34转化为2进制过程:
//34/2 = 17 + 0;17/2 = 8 + 1;8 /2 = 4 + 0;4/2 = 2 + 0;2/2 = 1 + 0;1/2 = 0 + 1
//2进制:0b0010 0010

同理,10进制转8进制、10进制转16进制的步骤与转2进制步骤相似,只需将除数从2变为8,16既可。


原码、反码、补码是计算机存储具体数据(整形类型,如有无unsigned修饰的char,int,short,long)的编码方式。

原码

计算机在存储真值时,第一位为符号位,0表示该数为正数,1表示负数,其余位表示值的大小。

以char i = 10为例,2进制原码表示为0b0000 1010; i &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值