Uint8向int8转换

本文详细介绍了Uint8类型数值255转换为int8类型后变为-1的过程,并探讨了8位有符号二进制数的原码、反码和补码表示范围,以及正数和负数在转换过程中的变化规律。
摘要由CSDN通过智能技术生成

10.11   一团浆糊

一、

typecast(uint8(255),‘int8’)

ans=-1

uint8(255)   结果    1111 1111

对1111 1111取补码,1000 0001(也就是ans=-1)

二、

对8位有符号二进制数,原码、反码和补码所能表示的范围如下:

原码:1111 1111B~0111 1111B(-127~+127)

反码:1000 0000B~0111 1111B(-127~+127)

补码:1000 0000B~0111 1111B(-128~+127)

三、

对一个正数的原码取反加1,得到这个正数对应负数的补码。

十进制数           原码                                  补码

6                     0000 0110

对其原码取反加1,得到-6的补码

-6                    1000 0110                        1111 1010    (6的原码取反加1得到-6的补码)

-6的原码相比6的原码,多出  1000 0000,将他看做补码,其对应的原码1000 0000,数字位同时当做符号位即-128

-128                1000 0000                      0111 1111                             

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值