java中,int型变量是有符号整形变量。int型变量占用4个字节(32bit位)。
int型变量采用补码形式来表示数值。对于一个二进制数,正数的补码是其本身,负数的补码是所有二进制位取反再加一。
int变量中,第一位是符号位(0表示正数,1表示负数)。
我们下面来实际分析int型中正数和负数是怎么表示的。
5
数字为正数,第一位符号为是0,正数5的二进制码是 000 0000 0000 0101,补码还是000 0000 0000 0101。把符号位和数值合起来,得到int型的5再内存中的32位二进制码是 0000 0000 0000 0101
-5
数字为负数,第一位符号为是1,负数5的绝对值的二进制码是 000 0000 0000 0101,因为是负数,其补码是 111 1111 1111 1011,把符号位和数值合起来,得到int型的-5再内存中的32位二进制码是 1111 1111 1111 1011
int型能表示的最大正数
int型的32bit位中,第一位是符号为,正数位0。因此,int型能表示的最大的正数的二进制码是0111 1111 1111 1111,也就是2^31-1。
int型能表示的最小负数
最小的负数的二进制码是1000 0000 0000 0000,其补码还是1000 0000 0000 0000,值是2^31。
最大值+1
最大值的二进制码是0111 1111 1111 1111,加一以后二进制码是1000 0000 0000 0000,是int所能表示的最小的负数。
最小值-1
最小值的二进制码是1000 0000 0000 0000,减一后称为0111 1111 1111 1111,是最大的正数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196029.html原文链接:https://javaforall.cn