有符号数与无符号数之间的转换理解

有符号数转无符号数方法解析

有符号数与无符号数之间的转换理解(做个笔记)

有符号数转为无符号数

有符号数(unsigned)在计算机中经常以补码形式存在。如果按照位级别来理解,一串二进制数在表达上是有符号数还是无符号数,取决于你的需求。

	-3  在长度为4的位模式下:
	原码        1 0 1 1
	反码        1 1 0 0
	补码        1 1 0 1 

而该补码从无符号数的理解来看则为2³ +2²+1=13
即 -3转为无符号数为13
更简单的理解方式为:-3+16=13
最高位的1在有符号数下表示-8,在无符号数下表示+8,如此就相差了16。

不会用markdowm写公式 用伪代码记录下
@ x 为 有符号数
@ w 为 位模式长度
@T2Uw(x) 为 无符号数
if( x < 0 )
{
T2Uw(x) = x + 2w
}
else
{
T2Uw (x)= x
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值