郑州到巩义好玩的景区:为什么定义8位为一字节,而不是10,16等

来源:百度文库 编辑:高考问答 时间:2024/04/20 21:59:33

这其实是一个概念问题。在最早的时候,是约定的8位二进制为一个字节,和ASCⅡ码无关,可以表示256以内的数。
在机器内部,8位或者16位对它来说都一样,都是1或0,而程序设计的时候,人为的要求机器按8位或16位来处理。16位的音乐文件所包含的信息比8位的多得多(差256倍),因此你也可以将16位二进制数看作音乐文件的一个单元,但约定成2个字节。就相当于统一了单位,便于交流。

我好像看过这个问题,记不太清了,好像是很早的时候IBM的机器一统天下,也可能是统了大部分天下,IBM机器是卡片输入信息的,卡片的大小和美元大小相同,为什么要和美元大小相同呢?是因为当时和美元相关的卡槽很多,改造和美元相关的卡槽方便、省成本、省力,所以IBM机器卡片的大小就和美元一样大了。当时一个卡片可以分为80列,大概也就是一次性输入80个0,1的组合吧。规定一字节等于80bit又太大了,就规定了一字节等于8bit

因为计算机只认识0和1,所以我们就只能用2进制数跟计算机交流;键盘上的字母和功能键是我们人可以理解的。而8位2进制数就可以将键盘上所有的键表示了。
如我们在键盘上按“S”,传给计算机的信号是“01010011”,这样计算机就知道我们在键盘上按了“S”键了。在ASCⅡ码表可查到“S”对应的2进制值是“01010011”。(每个键都有一组8位2进制数和它对应。键所对应的8位2进制数则是人为规定的,目的是为了方便统一,不然人机、机机间的交互性就会非常差。想象,你制造的键盘规定按F时输出的信号是“01010011”,那么通用计算机则认为你按的是S键,这样不就天下大乱了~。)一个字符(如S)就是一个最小的单位了,叫做一字节。它不能再分了,你见过3/4个“S”吗?
所以我用8位2进制数作为一个字节~!

有意思呀,你的精神值得我学习呀,因为二进制和直进制的转化就与个8有关,唉有什么办法呢?呵呵

要明白这个问题,首先要明白二进制

二进制,十进制,16进制计算原理是一样的,只是我们习惯10进制而已
计算机部件只管高、低电平,就等于只认识要么1要么0
下面是二进制计算:
二进制:1+1=10+1=11+1=100+1=101
以下是对应关系
十进制:0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
二进制:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
16进制:0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
以下是计算
十进制:0004+0010=0014,0015+0002= 0017
二进制:0100+1010=1110,1111+0010=1,0001
16进制:0004+0010=000E,000F+0002=1,1
如此看来怎么计算只要规则统一,不管是几进制算出来的结果还是那么些个数,就是要相互转换而已。
综合上面规律,10进制和二进制没有直接联系,而二进制和16进制保持4位二进制=1位16进制,比如:101011就何以理解成:0010和1101对应上表16进制应该是2D。
16进制2D比二进制00101101从书写记忆到转换成10进制计算要省事的多是把?
所以16进制是为了简化二进制而衍生的进制(包括8进制,32进制,还可以出来一个64/128进制)

这样看来,8位可以理解了吧?

这和1+1=2一样,你不需要理解