1.位数
- 二进制位数,也就是表达一个其他类型的数所需要的二进制数有几个,确定整数二进制表示中第一个1 的出现位置。
例如:
2的二进制为 10,占用2个二进制位
3的二进制为 11,占用2个二进制位
4的二进制为 100,占用3个二进制位 - 再例如,int型是32位,什么意思呢,也就是所它最大可以占32个2进制位 也就是100000000000000000000000000000,它的最高位在第32个二进制数上
那为什么int的最大取值不是2(32)+2(31)·····呢,因为它的最大取值就是2的31次方,而1也正好在二进制位数的32个数字上,所以它是32位的。
2.字(word)字节(byte)、字符 、位数(bit)
1word = 2byte=16bit
- 位:bit
- 字节(Byte):是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。1byte = 8bit
- 字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。
-
它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:
①ASCII码中,一个英文(字符)字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。
②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。
⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。
摘自:http://zhidao.baidu.com/link?url=U1Y4UO2Fdm63eh2bVjFONKSqaw6Ub0FQR4j1WmduuEcjop4lDsBy7dWdNR51Dnuny52cnh22CEhrhlytZwty_25xJ1GhNP9RuHXbAkLqDMa