char类型原码反码补码移码

C初级 专栏收录该内容
25 篇文章 2 订阅

在这里先向大家道个歉,之前在char类型-128到127文章中没有讲清楚原反补的具体求解过程,并且犯了严重的错误,补码-128是不存在原码和反码.

简单介绍一下原码的取值范围都是-128到+127,并且0都存在两种状态+0和-0。补码中0只有一种状态00000000,并且1000000代表-128,这也就是补码取值范围是-128到+127的原因了。

以下是原码-128到+127到反码补码和移码的变换过程

-128-127-126-125……-3-2-1-0+0123……125126127
10000000111111111111111011111101……10000011100000101000000100000000000000010000001000000011……011111010111111001111111
11111111100000001000000110000010……11111100111111011111111000000000000000010000001000000011……011111010111111001111111
100000001100000011000001010000011……111111011111111011111111200000000000000010000001000000011……011111010111111001111111
300000000000000010000001000000011……01111101011111100111111110000000100000011000001010000011……111111011111111011111111

无符号的取值是8位全零到8位全1,即0到255

原码-127到+127

反码-127到+127

补码-128到+127

移码-127到+127


  1. 补码10000000代表-128 ↩︎

  2. 补码中,数值0只有一种表示方法,补码没有-0 ↩︎

  3. 与原反补相反,移码符号位1表示正,0表示负 ↩︎

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值