负数怎么求它的二进制呢?

一: 十进制负数用二进制表示

1: 求出原码

来个-5, 实践出真知嘛。把5转化为二进制字节形式。得到101,然后补零。

负数怎么求它的二进制呢?_第1张图片

 2: 求出反码

然后,取反(0的变成1,1的变成0。)一个整数按照绝对值大小转换成的二进制数,是为原码

原码就上面的:00000101。

负数怎么求它的二进制呢?_第2张图片

 3: 求出补码

得到了反码,反码是和原码反着来的。然后,加一,  得到补码(反码加一叫补码)

负数怎么求它的二进制呢?_第3张图片

 4: 结果

补码就是负数在计算机中的二进制表示方法。那么,11111011表示8位的-5,如果要表示16位的-5 ,在左边添上8个1即可。

负数怎么求它的二进制呢?_第4张图片

 二: 补码二进制返回负数十进制

那么,知道一个负数,求二进制数的方法已经知道了,如果,知道一个二进制数,怎么求其十进制数呢(对负数)随便来个负数的二进制数。

负数怎么求它的二进制呢?_第5张图片

 1: 根据补码得到反码 

先减一,反着上面的方法来。//上面最后不是加一么,那现在就减一

负数怎么求它的二进制呢?_第6张图片

 2: 根据反码得到原码

取反, 上面不是取反了么,这里也取反。

负数怎么求它的二进制呢?_第7张图片

 3: 结果

那么,接下来就是计算了。计算结果是13,那么这个二进制数就是:-13。

负数怎么求它的二进制呢?_第8张图片

 

你可能感兴趣的:(javaSE,补码,java)