已知Java语言中int类型所能表示的最大整数为2147483647,请问以下代码执行结果是什么?
一部分人都会认为这段程序压根就无法通过编译,也有人认为,这段程序能够通过编译,但在运行时会抛出异常,但更多的人面对这道题目根本就无从下手。那么正确答案是什么呢?首先告诉大家,这段程序能够顺利通过编译,并且在运行时也不会出现异常,运行的结果是在控制台上输出了数字-2147483648!而-2147483648正好是Java语言中int类型所能表示的最小整数。
大家都知道:任何一个数字,存储到计算机当中,都是以二进制的形式进行存储的。在Java语言中,使用补码的形式来表示数字。那么补码是个什么东西呢?补码就是计算机用二进制的形式表示数字的一种规则。它的算法很简单:用最左边的一个二进制位表示数字的正负,0表示正数,1表示负数,我们把表示符号的这个二进制位叫做“符号位”,而剩余的二进制位表示数字本身。至于怎样用其余的二进制位表示数字,正数和负数略有区别。我们首先来说正数的情况。对于正数而言,直接用剩余二进制位表示这个数字就可以了。而对于负数而言,算法稍微复杂一点,分为两步:
一、用补码表示出这个数的绝对值,之后把每个位上的数字(连同符号位上的数字在内)按位取反,所谓按位取反就是如果这个位上原来是0,那么就变成1,如果原来这个位上原来是1,那么就变成0。
二、就是把这个取反以后的数字加上1,就得到了负数的补码表示结果。
java short类型占几个字节?
short类型占2个字节,16位。
字节:byte,用来计量存储容量的一种计量单位,位(bit)。
一个字节等于8位 1byte = 8bit。
java short类型
short 数据类型是 16 位、有符号的以二进制补码表示的整数<