int的取值范围为: -2^31——2^31-1,即-2147483648——2147483647
1、对于正数来说,它的补码就是它本身。
2、对于负数来说,它的补码是它对应的正数的二进数所有位取反之后加一。
3、由负数的补码求原码也是相同的操作(所有位取反+1)即为该负数的绝对值
int是4个字节,32位,
10000000 00000000 00000000 00000000 是补码,第一位为符号位,1表示负数,所以
对剩下的位取反,结果为 1111111 11111111 11111111 11111111,加一后为10000000 00000000 00000000 00000000
4、所以原码指的是-2^31=-2147483648
int的取值范围为-2^31——2^31-1
扩展资料
int是一个向CPU发送中断的指令。
格式为INT vec。
vec为中断向量号,其值为0~255。CPU根据这个向量号去调用内核对应的中断例程。指令操作为:
(SP)←(SP)-2,((SP)+1:(SP))←(FR)
(IF)←0,(TF)←0
(SP)←(SP)-2,((SP)+1:(SP))←(CS)
(SP)←(SP)-2,((SP)+1:(SP))←(IP)
(CS)←(vec*4+2),(IP)←(vec*4)
参考资料
百度百科-int
java 中int 的范围:
数据类型 大小 范围 默认值
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
java中的int类型存储长度为32bit.所以范围是“-2^32”到“2^32-1”;
也就是“-2147483648”到“2147483647”;
int是默认的整形数据,占4个字节,每个字节8位因次是32位,范围是-2的32次方~2的32次方-1,再有Long是8个字节就是64位了,因此你定义的时候一定要在后面加上'L';而浮点行的默认类型是Double,因此像定义Float是要在数据后面加上'F'
常量的值只与本身有关,跟引用类型无关,所以,一旦数据超过int的范围,就需要在数据后面加'L'表示long型数据,再长了就只能用float(f)或者double(d)。