经常我们使用电脑、手机或者其他的一些电子设备时,会听到这个手机存储64G的,32G的,那个硬盘有2T,这个网速100M的,这类的话,但是这些是个啥?为什么这么叫?意味着啥?
这些其实都是一些数字信息的单位,标志着存储设备能够存储多少的数字信息。
bit&byte
byte是数字信息的基本单位,中文一般叫字节。1byte是形容一个完整字符的长度。假如有一篇全英文文章,文章存在设备里边就是数字信息,那么这个文章有多长,我们可以说有多少个字,但是对于数字信息来讲,我们说它占用了多少byte,多少byte就是这个文章的长度。一般来讲一个英文字母占用1byte,一个空格和一个基本的标点符号也一样占用1byte。当然中文或者别英文文字就另当别论了,因为这里会涉及到一个字符编码的问题,这会导致它的单个字长度会更长一些。
bit是计算信息和数字通信的基本单位,中文一般叫比特或者字位。我们都知道计算机的存储设备只能记录二进制的数据,所以我们要存数据到设备里只能将我们想要的数据转化成二进制再存进去,转成了二进制无非就是使用0和1来表示,比如 1转成二进制就是00000001,那么这样每一个0或者1就是1bit,这个要存进去就要占用8个基础元器件,也就是8bits。因为不同时期的计算机对于用几个bit来表示一个byte是不同的,所以bit是不能用来表示数字信息的长度的,所以它只能是计算信息和数字通信的基本单位,而不是数字信息的基本单位。
当然数字信息归根结底是要存储在电子设备上的,如果用几个bit来表示一个字符是确定的,那么数字信息占用多少的bits也将是确定的。为什么这么说呢?难道用几个bit来表示一个字符是不确定的么?
最初的计算机性能和存储容量都比较差,所以普遍采用4位BCD编码(这个编码出现比计算机还早,最早是用在打孔卡上的)也就是使用4bits来表示一个字符,也就是1Byte=4bits。BCD编码表示数字还可以,但表示字母或符号就很不好用,需要用多个编码来表示(比如2Byte来表示一个字符)。后来演变出6位的BCD编码(BCDIC),以及7位ASCII编码(至今仍在广泛使用),也就是1Byte=6bits或者1Byte=7bits。再后来就是IBM公司在1946年4月7日推出了划时代的大型机System/360,这个电脑使用的是一套8位EBCDIC编码,涵盖了数字、大小写字母和大部分常用符号,同时又兼容广泛用于打孔卡的6位BCDIC编码。System/360很成功,所以奠定了字符存储单位采用8位长度的基础,后来IBM所有的主机、外围设备和操作系统都使用这套编码,然后随着技术的发展和设备的标准化,1字节=8位被广泛使用于硬件和软件中,于是现在来看1Byte就是等于8bits。
当然如果你觉得8bits不能满足你的编码要求,那么你可以自己在制定一套编码方式,可以用9bits或者更多来表示 , 只不过那样的话,你可能要无法使用大家现在的编码方案,得自己去控制存储了,那可不是一般的麻烦。
很明显光有基本单位是不够的,所以后面有了更大的单位。
国际单位制
全称International System of Units,简称SI,那个千米,千克都是这里边的,于是它也在Byte的基础之上标准化了更大的单位:Kilobyte、Megabyte、Gigabyte、Terabyte、Petabyte、Exabyte、Zettabyte、Yottabyte,简称分别是KB、MB、GB、TB、PB、EB、ZB、YB,之间的进率是1000。在bit的基础上标准化了更大的单位:Kilobit、Megabit、Gigabyte、Terabit、Petabit、Exabit、Zettabit、Yottabit,简称分别是Kbit、Mbit、Gbit、Tbit、Pbit、Ebit、Zbit、Ybit,之间的进率也是1000。
国际电子技术委员会单位
制定这个标准的组织全称International Electrotechnical Commission,简称IEC,在1998年,也推出他们认为的标准化单位:Kibibyte、Mebibyte、Gibibyte、Tebibyte、Pebibyte、Exbibyte、Zebibyte、Yobibyte,简称分别是:KiB、MiB、GiB、TiB、PiB、EiB、ZiB、YiB,之间的进率是1024,也就是2的10次方。bit的单位分别是:Kibibit、Mebibit、Gibibit、Tebibit、Pebibit、Exbibit、Zebibit、Yobibit,简称分别是:Kibit、Mibit、Gibit、Tibit、Pibit、Eibit、Zibit、Yibit,之间的进率是1024,也就是2的10次方。
由于电脑之间的存储和传递是依据二进制的,所以使用2的10次方作为进率更加方便,于是IEC单位在软件上被广泛使用,后来很多人经常也把它简称为KB、MB、GB、TB、PB、EB、ZB、YB,甚至是K、M、G、T、P、E、Z、Y。比如你查看文件的大小也是直接显示多少KB或者MB。
但是硬件厂商还在遵守SI的标准,比如你买了一个1T的硬盘,当你电脑打开查看发现少了不小空间,因为他们遵守的就是SI的标准,而你的操作系统使用的是IEC标准。1TB在SI的标准下是 1000,000,000,000Bytes,而在IEC的标准下这么多的Byte只能相当于1000,000,000,000/1024/1024/1024/1024=0.9094947017729282TB
bps&Mbps
这二个都是网络传输的速度单位。bps是每秒传输的bit,Mbps是每秒传输的Mbit。
我们的网速说是80M的宽带,实际就是80Mbps,就是每秒传输80Mbit的数据,占满所有宽带的情况下理论上每秒可以传10MB的文件。当然这还是理论值哦,实际值往往达不到这么多的。
说到网速,还值得说一下的,就是上行网络和下行网络,相当一个是上传速度,一个是下载速度,经常是不对等的。
32位和64位CPU
32位CPU是指这个CPU有32根地址线,这些地址线决定这个它的寻址范围,所以该CPU的寻址范围在0到2的32次方,也就是它最多可以有这么多个地址。内存是快速存储设备,基本单位是Byte,所以32位CPU理论支持最大的内存为2的32次方Byte,也就是4GB。
64位CPU就是指CPU有64根地址线,同样的道理 64位CPU就可以支持最大2的64次方Byte的内存,也就是4GB再乘以2的32次方。
当然32位CPU跟64位CPU还在指令上有不同。
32位&64位操作系统
按照PC的设备来讲32位操作系统都是支持的,也就是说32位的操作系统安装在32位CPU的PC机上是没问题的,64位CPU也可以通过只用32根地址线来兼容32位操作系统。 32位操作系统由于只会用到32位地址线来寻址,所以最大的内存支持也就是4G。
现在内存超过4G是件和平常的事情了,另外64位操作系统在指令上和运算速度方面都有很多的优势,所以Windows和各大软件厂商都在积极发展64位操作系统和支持的软件,但是64位操作系统是需要CPU和主板等设备的支持的,CPU必须是64位的。