美文网首页
03 二进制编码

03 二进制编码

作者: 鱼小圈 | 来源:发表于2017-06-14 14:42 被阅读25次

因为电流的产生,人们发现了电磁现象,利用电磁现象发明电报机,实现了人们远距离(眼睛看不到和耳朵听不到的距离)的通信。语言就是编码的一种,在同一个国家用大家熟悉的语言交流是没有问题的,因为交流使用的语言是大家熟知的编码。
萨缪尔.摩尔斯发明了电报机和电码,也就是人们熟知的“摩尔斯电码” 点和划。而我们现在的计算机用的二进制编码。

二进制编码是怎么来的?

先看一下十进制数。数字是我们日常生活中最抽象的一种编码。那为什么是10?因为人们最初的计数是用自己的手指,这些手指用10这个标记来表示而已。如果人们的手指是8或者12,那我们现在的计数系统应该就不一样了。所以,人们用10进制数系统,以10为基数完全是随意的。

十进制数是以为基础数0,1,2,3,4,5,6,7,8,9来表示,每一个位置又代表10的一个整次幂。
比如
<3451 = 3*1000 + 4*100 + 5*10 + 1= 3 *10^3 + 4*10^2 + 5 * 10^1 + 1*10^0>
理解各种进制,"10"是一个关键点,为了容易理解,我们不念十 ,念 一零。

十进制: 基础数字是0,1,2,3,4,5,6,7,8,9 ; 9的下一位开始进位 变成 一零;
0,1,2,3,4,5,6,7,8,9,10
11,12,13,14,15,16,17,18,19,20
21,22,23,24,25,26,27,28,29,30
31,32,33,34,35,36,37,38,39,40
41,42,43,44,45,46,47,48,49,50
51,52,53,54,55,56,57,58,59,60
61,62,63,64,64,66,67,68,69,70
71,72,73,74,75,76,77,78,79,80
81,82,83,84,85,86,87,88,89,90
91,92,93,94,95,96,97,98,99,100

八进制: 基础数字是0,1,2,3,4,5,6,7 ; 逢 8 进位 变成 一零;
0,1,2,3,4,5,6,7,10
11,12,13,14,15,16,17,20
21,22,23,24,25,26,27,30
31,32,33,34,35,36,37,40
41,42,43,44,45,46,47,50
51,52,53,54,55,56,57,60
61,62,63,64,64,66,67,70
71,72,73,74,75,76,77,100
二进制:基础数是0,1 ;逢2进位变成一零;
0 ,1,10
11,100
101,110
111,1000
1001,1010
1011,1100
1101,1110
总的来说,十进制,八进制,还是其他进制都是一种计数系统,都可以参与运算,都能表达信息,本质上没什么不同。

计算机为什么要用二进制数,而不是其他进制数、字母?

1.所有可以被转换成两种或多种可能性选择的信息,都可以用二进制表示

计算机的最小信息量单位是bit,1bit正好是2位二进制数,复杂的信息可以用多位二进制表示。

也就是说,能用语言、声音、图像来表示的事物,都能用bit的形式来编码。

2.我们可以清楚地知道我们是否已经想到了所有情况
比如同样是两位数,分别是10进制,8进制 2进制

十进制的两位数有多少种可能?
个位是10种可能(0-9),十位也是10种可能(0-9),根据笛卡尔基计算这个两位数的可能情况是10*10=100种情况。

八进制的两位数有多少中可能?
个位是8种可能(0-7),十是8种可能(0-7),组成八进制的两位数可能情况是8*8=64种

二进制呢?
个位是2种可能(0,1),十位是两种可能(0,2),组成两位数是4种可能。信息是多种可能性中的一种,而二进制最简单的计数系统,只有两个数0,1. 当我们交流的双方确定好1代表什么,0代表什么,之后就可以正常交流。

人类的感情存在【爱】,【有点喜欢】,【有点爱】,【不爱】这种可能性,但是计算机不行,必须是爱或者不爱,喜欢或者不喜欢。所以,二进制保证了计算机可传递最小信息的同时,确保传递信息的准确性。

**3.硬件决定
计算机内部是有IC集成电路这种电子部件构成。CPU和内存也都是IC的一种。IC有集中不同的形状,有的像一条黑色蜈蚣,在其两侧有数个乃至数百个引脚;IC的所有引脚,只有直流电压0V或5V两个状态,也就是说,IC的一个引脚只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制来处理。

第三个理由来自于《程序是怎样跑起来的》,我觉得正式因为1,2的原因,才让硬件设计时,遵循了二进制的规则。所以,计算机采用二进制的主要原因还是因为二进制极致简单、根据增加位数来表达更多信息。

相关文章

  • 03 二进制编码

    因为电流的产生,人们发现了电磁现象,利用电磁现象发明电报机,实现了人们远距离(眼睛看不到和耳朵听不到的距离)的通信...

  • Python正式课第十三天

    一、文件操作与字符编码 1. 字符编码 编码 将字符转换为对应的二进制序列的过程叫做字符编码(字符->二进制01)...

  • base64

    encode 编码,将二进制编码成base64decode 解码,将base64解码成二进制。 并且解码post...

  • python Base64编码和解码

    6.10 使用base64对二进制数据进行编码和解码 b64encode 函数对二进制进行编码 .decode('...

  • 2020-02-09 Python文本处理

    1. Python编码解码 将文本转换为二进制数据就是编码,将二进制数据转换为文本就是解码。编码和解码要按照一定的...

  • 2018-03-28 Huffman树

    首个实用的压缩编码方案--huffman编码(数据压缩,无损编码) 赫夫曼编码是一种二进制编码,对字符编码时,对一...

  • 2-Base64编码

    编码原理 Base64编码就是把3个8位的二进制数据用4个ASCII可见字符展示出来。编码时,将3个8位二进制码重...

  • 编码格式utf-8、gbk、unicode、BOM

    设置编码格式 Unicode符号范围 | UTF-8编码方式 (十六进制) | (二进制)------------...

  • 关于XML文件(二)

    1. 关于XML编码 编码是将 Unicode 字符转换为其二进制表示。 UTF 用于 XML 编码。 UTF 代...

  • Base64编码

    Base64编码可将任意二进制数据转换为字符编码,转换后的编码包括:A ~ Z a ~ z 0 ~ 9 + /及作...

网友评论

      本文标题:03 二进制编码

      本文链接:https://www.haomeiwen.com/subject/gakfqxtx.html