了解一个人的补

问题描述 投票:2回答:1

我只是有关于与二进制数字,也许有人可以帮助我了解一个补一个简单的问题。

我学习了计算机安全测试,我练转换十进制数二进制数,然后使用自己的和二进制补码。我给出的十进制数237和二进制转换它为11101101。据我所知,在一个人的补充你扭转位,这很简单。当我扭转它,我得到00010010但答案省去了前三0。任何机会,有人能向我解释这是为什么?

binary number-systems ones-complement
1个回答
0
投票

值237是太大而不能存储在与一个补一个8位有符号数。如果它被存储在一个16位int相反,它和它的补否定不得不在基地2分别表示:

0000000011101100

1111111100010011

在做这样的算术手,保持你的号码的左侧一些额外的数字占该数字的符号,如果你打算稍后否定位。


0
投票

这些前导0不持有任何意义。基本上,在十进制可以说07 == 7 == 00000000007,所以在二进制同样00010010 == 10010 == 0000000000000010010成立。

© www.soinside.com 2019 - 2024. All rights reserved.