补码与signde char

  讨论的前提是char型是8位的

  8位的正数最大是多少?11111111,28-1,当然这只针对unsignde char,

对域signde char,8位的第高位是符号为,正数为0,负数为1,所以最大的正数为 01111111 ,27-1,127

最小的负数呢?这里就涉及负数在存放的时候都是以补码的形式存放,取反加1

最小的负数在没取补码的时候似乎是11111111,-127,补码为10000001

这样似乎signde char  的范围是 -127 ~ 127,但是对于8位的全排列,会出现两个0,及+0和-0

+0 00000000 -0 10000000

出现了浪费,于是乎 补码就规定 -0  1000000 为 -128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值