首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java bit位、byte字节&数值范畴&转化

2012-09-10 
java bit位、byte字节&数值范围&转化1 bit 1二进制数据1 byte 8bit1 汉字 2byte 16 bit1. bit:位一个

java bit位、byte字节&数值范围&转化
1 bit     = 1  二进制数据1 byte  = 8  bit1 汉字 = 2  byte = 16 bit
1. bit:位
    一个二进制数据0或1,是1bit;
2. byte:字节
    存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45)  即是指 45个字节;
    1 byte = 8 bit

Byte:有符号整形 用二进制表示时候最高位为符号位 0代表正数 1代表负数 8bit -128(-2^7     1000 0000) --- 127(2^7 - 1     0111 1111)
正数在计算机中是以原码形式存在的,负数在计算机中是以其补码(负数的绝对值的原码转为二进制再按位取反后加1)形式存在的
Short:作为2字节16位有符号整形
Int:作为4字节32位有符号整形
Long:作为8字节64位有符号整形
Char作为16位无符号整形 其范围为 0 -- 2的15次方(最小:'\u0000' 最大:'\uFFFF')
Float作为32位的浮点型
Double 作为64为浮点型

2^7 = 128
2^15 = 65536
2^31 = 2147483648
2^63 = 9223372036854775808

// 返回无符号的2进制表示 1110011String hex = Integer.toBinaryString(115);System.out.println(hex);// 返回2进制的字符串1110011对应的值 115System.out.println(Integer.valueOf("1110011", 2)); // 16进制值转换成二进制System.out.println(Long.parseLong("49", 16));System.out.println(Long.parseLong("2F", 16));// 汉字“中”用UTF-8进行URLEncode的时候,得到%e4%b8%ad(对应的ISO-8859-1的字符是??-)String item = new String(new byte[] { (byte) 0xe4, (byte) 0xb8, (byte) 0xad }, "UTF-8");// 中System.out.println(item);item = new String(new byte[] { (byte) 0xe4, (byte) 0xb8, (byte) 0xad }, "ISO-8859-1");// ??-System.out.println(item);System.out.println(new BigInteger("253").toByteArray());System.out.println(Integer.toBinaryString(253));// 中item = new String(item.getBytes("ISO_8859_1"), "UTF-8");System.out.println(item);// ??-item = new String(item.getBytes("UTF-8"), "ISO_8859_1");System.out.println(item);

热点排行