成都网站建设开,建设开发网站,搜集10个优秀网站,教育培训有限公司可以多少钱注册java基本数据类型基础知识机器数和真值机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数机器数是带符号的#xff0c;在计算机用一个数的最高位存放符号, 正数为0, 负数为1例如:dec 3 bit 00000011dec -3 bit 10000011真值将带符号位的机器数对应的真正数值称为机…java基本数据类型基础知识机器数和真值机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数机器数是带符号的在计算机用一个数的最高位存放符号, 正数为0, 负数为1例如:dec 3 bit 00000011dec -3 bit 10000011真值将带符号位的机器数对应的真正数值称为机器数的真值例如:bit 00000011 真值 bit 0000011 真值 dec 3(最高位代表符号位)bit 10000011 真值 bit - 0000011 真值 dec -3(最高位代表符号位)源码,返码,补码机器存储一个具体数字的编码方式源码原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值例如:dec 3 源码 bit 00000011 bit |0000011| bit 00000011 |3| dec 3dec -3 源码 bit 10000011 bit -|0000011| bit 10000011 -|3| dec -3反码正数的反码是其本身负数的反码是在其原码的基础上, 符号位不变其余各个位取反例如:dec -3 源码 bit 10000011 符号位布标 bit -0000011 取反 bit -1111100 bit 11111100补码负数以补码的形式存储在计算机中正数的补码就是其本身负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后1. (即在反码的基础上1)计算规则: 第一步取x的绝对值第二步计算x的二进制第三步对二进制取反最后在加1例如:dec -3 源码 bit 10000011 符号位不变 bit -0000011 取反 bit - 1111100 1 bit 11111101dec -3 |dec -3| dec 3 bit 00000011 取反 bit 11111100 1 bit 11111101Java基础数据类型字节数1 bit (一个字节) : 0/1 二进制数据1 byte 8 bit1 Byte 1 byte 8 bit1 Short 2 byte 16 bit1 Integer 4 byte 32 bit1 Long 8 byte 64 bit1 Character 2 byte 16 bit1 Float 4 byte 32 bit1 Double 8 byte 64 bitBoolean false(没有)基础数据类型范围bytebyte:-128 ~ 127 [10000000 ~ 00000001]-128: |128| bit 10000000 bit 01111111 bit 1000000127: bit 011111111ShortShort:[0x8000 ~ 0x7fff] [-215 ~ 215] [-32768 ~ 32767][1000000000000000 ~ 111111111111111]IntegerInteger:[0x80000000 ~ 0x7fffffff] [-2^31 ~ 2^31] [-2147483648 ~ 2147483647] 21亿[10000000000000000000000000000000 ~ 1111111111111111111111111111111]Long[0x8000000000000000L ~ 0x7fffffffffffffffL] [-263 ~ 263][-9223372036854775808 ~ 9,223,372,036,854,775,807] 10^18Character‘\u0000’ ~ ‘\uffff’常见操作byte转换成int0xff原因:public static void main(String[] args) {Byte b1 1;//00000001Byte b2 -1;//按位取反1:00000001 - 11111110 - 11111111System.out.println(b1);//00000000-00000000-00000000-00000001System.out.println(b2);//11111111-11111111-11111111-11111111// 因为byte只有8位,转换int,只保留8位,所以与上 0xff[00000000-00000000-00000000-11111111]// 保留了后8位System.out.println((int)b1 0xff);//00000000-00000000-00000000-00000001System.out.println((int)b2 0xff);//00000000-00000000-00000000-11111111}