2的补码(二进制)

                计算机中负数的表示,看了好几篇文章,自己总结了一番。

                1.补码的概念。

                你的数据是以多少进制进行展示,例如:

                1).十进制:88补码->10^2-88,

                999补码->10^3-999.

                2).二进制(要看你是二进制的多少位的表示)比如

                (1).四位二进制的表示.

                4->0100,补码就是各位数取反+1->1100  表示为-4(我们可以计算下,

                用7来加-4,0111+1100=10011,因为是四位二进制所以最高位的1去

                除变为0011为3);

                (2).八位二进制的表示.

                16->0001 0000,补码就是各位数取反+1->1111 0000  表示为-16(我们

                可以计算下,用127来加-16,0111 1111 + 1111 0000=1 0110 1111 ,因

                为是八位二进制所以最高位的1去除变为0110 1111为111)以此类推16位,

                32位。

                2.总结

                在我们限定了二进制的位数之后。

                1).不管我们是二进制多少位数,我们都可以确定,最高位为1时代表这个二进

                制位数的最小负数,此后每位多1为最小负数加上此位上正数,比如:

                (1).1000 1111 此二进制数可为-128 + 2^3 + 2^2 + 2^1 + 2^0 = -113.

                验证:113的二进制->0111 0001 的补码为1000 1111.

                (2).1001 此二进制数可为-8 + 1 = -7.

                验证:7的二进制->0111的补码为1001.

                2).二进制不管多少位的最大数为最高位0剩余位1.

                     最小数位最高位1剩余位0.

                      -1为所有位数都为1.

                3.java中int最大值2^31-1,最小值-2^31,最多32位,java中二进制最大只能表示到

                int最大值,以上规则在32位二进制在java中可使用。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部