java进制转换原理_java基础第二天_进制转换原理和补码存储方式

1.负数的表现形式,为什么如此设计?

负数的表现形式是正数取反加一。原理是正负数相加值为0.如此设计正负值相加时首位的1由于超出表示范围会溢出。得到符合补码表示法的正确数值。

比如byte类型的二进制表示的数,1000 0001 + 0111 1111 = (byte类型是8位,第9位是1超过范围)1 0000 0000,所以取前面8位,0000 0000,值就为0了。

--------------------------------------------------

2.-128是在内存中是如何存储的?推算过程?

-128在8位的字节存储结构中=1000 0000,在补码表示法中,1000 0000的补码也是1000 0000,由于它的符号位是1,代表负数则它表示-128。

如果用-127-1的方式推算-128,则过程如下

+127=0111 1111,-127=1000 0001,-128=-127-1=1000 0000

-------------------------------------------------

3.如果字节表示为11111111,则其真实数据是多少?

从符号位来看这是一个负数,先得到它的正数。1111 1111的取反加1为0000 0001,则真实数据为+1

--------------------------------------------------

4.正负数是否都支持补码的方式?

正负数都支持补码的方式

---------------------------------------------------

5.正数是否是负数的减一取反?

是,127=0111 1111=~(1000 0001-1)=~1000 0000=0111 1111

126=0111 1110=~(1000 0010-1)=~1000 0001=0111 1110

125=0111 1101=~(1000 0011-1)  =~1000 0010=0111 1101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值