byte,short,int和long有符号整数
2014-05-08 21:53
330 查看
1)byte,short,int,long都是有符号整数,与有符号整数对应的是无符号整数;
两者的区别在于把二进制转换为十进制整数的方式不一样。
A)有符号整数把二进制数的首位作为符号位,
当首位是0时,对应十进制的正整数;当首位是1时,对应十进制的负整数。
例程:1个字节的byte的二进制数,它对应的十进制整数的取值范围是-128~127
10000000 = -[(2的7次方) * 1]=-128
01111111=0 + (2的6次方) + (2的5次方) + (2的4次方) + (2的3次方) + (2的2次方) + (2的1次方) + (2的0次方)
=64+32+ 16 + 8 + 4 + 2 + 1 = 127
B)无符号整数把二进制数的所有位转换为正整数。
例程:1字节的二进制数,它对应的十进制整数的取值范围是0~255.
11111111 = 128 + 127 = 256
00000000 = 0
2)八进制,十六进制的表示
Java语言允许把八进制数(以“0”开头),十六进制数(以“0x开头”)
两者的区别在于把二进制转换为十进制整数的方式不一样。
A)有符号整数把二进制数的首位作为符号位,
当首位是0时,对应十进制的正整数;当首位是1时,对应十进制的负整数。
例程:1个字节的byte的二进制数,它对应的十进制整数的取值范围是-128~127
10000000 = -[(2的7次方) * 1]=-128
01111111=0 + (2的6次方) + (2的5次方) + (2的4次方) + (2的3次方) + (2的2次方) + (2的1次方) + (2的0次方)
=64+32+ 16 + 8 + 4 + 2 + 1 = 127
B)无符号整数把二进制数的所有位转换为正整数。
例程:1字节的二进制数,它对应的十进制整数的取值范围是0~255.
11111111 = 128 + 127 = 256
00000000 = 0
2)八进制,十六进制的表示
Java语言允许把八进制数(以“0”开头),十六进制数(以“0x开头”)
相关文章推荐
- 测试整数类型:byte,short,int,long。以及进制之间的转换问题
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
- 08.java语言基础-整数类型(byte-short-int-long)
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
- java中byte数组与int,long,short间的转换
- java关键字(一)——byte,int,long,short
- java中byte数组和int,long,short之间的转换
- 数据类型 -- char , unsigned char = BYTE, short, unsigned short = WORD, long, unsigned long = DWORD, int , unginged int = UINT
- java中long,int,short与byte数组之间的转换
- 基本数据类型:Byte、Short、Int、Long
- java中整数类型(short int long)的存储方式
- java 彻底理解 byte char short int float long double
- byte数组与int,long,short,byte转换 (转载)
- null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
- android中byte[] short[] int[] long[]数组数据转换
- java 彻底理解 byte char short int float long double
- 谈谈Java中整数类型(short int long)的存储方式
- java中long,int,short与byte数组之间的转换
- java中byte数组与int,long,short间的转换