浅谈Java中原码、补码和反码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40718168/article/details/83306647

学习计算机时,对于十进制转二进制大家很有所了解,这次讲讲原码、补码和反码的基本概念。

原码

原码就是十进制数字最原始的二进制表示,在Java中,对于整数而言,其原码格式为最高位为符号位,该位上1表示负数而0表示正数,剩余位数为该数字的二进制表示。以Java中32位int型的整数2及-2举例:
2的原码:00000000 00000000 00000000 00000010
-2的原码:  10000000 00000000 00000000 00000010
对于原码来说,正数和负数的原码只有符号位不同。

反码

正数的反码为其原码,负数反码是除了最高位的符号位外,其余位数取反(0改为1,1改为0),便得到了当前负数的反码。
以2和-2举例:
2的反码:00000000 00000000 00000000 00000010
-2的反码:11111111 11111111 11111111 11111101

补码

正数的补码为其原码,负数的补码是反码加1。

以2和-2举例:
2的补码:00000000 00000000 00000000 00000010
-2的补码:11111111 11111111 11111111 11111110

猜你喜欢

转载自blog.csdn.net/qq_40718168/article/details/83306647
今日推荐