C语言原码、反码、补码

原码、反码、补码
计算机的基本存储单元是字节(byte)
计算的的最小存储单元是位(bit)
C语言当中的数被分为有符号数和无符号数
有符号数是:正数 负数 0
无符号数是:0 不带符号的正数
对于无符号数和有符号数的0和正数,原码、反码、补码一致;
对于有符号数,最高位为符号位,0代表(+),1代表(-);
对于有符号数中的负数,原码最高位为符号位;反码符号位不变,其余位取反;补码在反码的基础上+1。
10 00001010 原码
00001010 反码
00001010 补码
+10 0-0001010 原码
0-0001010 反码
0-0001010 补码
-10 1-0001010 原码
1-1110101 反码
1-1110110 补码
计算机存储的是数据的二进制补码形式
对于8位无符号二进制 存储的范围 0 255
XXXXXXXX
00000000 11111111 无符号数的范围0 ~ 2^8-1
对于8位有符号进制数
正数 0 0000000 0 1111111 存储的范围 0 ~ 2^7-1
负数 1 0000000(补码) ;1 1111111(补码) 1 0000001 ,-128 ~ -1
-0就是-128 全0才是0,-0在计算机处理时被当做了-128
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值