我年轻,我傲娇。 收藏本站
登陆 / 注册 搜索

阅读: 2K   回复: 1

[# 系统基础] 计算机原理(二进制)

仗剑天涯论坛大牛 2020-3-31 20:01 |显示全部楼层

今生相逢便是缘分,何苦去怨恨,何苦去仇视。

主题破百
作者|刘栋梁,微信公众号|软件那些事儿
" N( T& v) G2 O% U4 U, e# j2 z% A+ c. @9 Z7 R7 K
一、二进制8 H. N- q. h# B+ w
3 ~: q5 @; N* Y& d
只要是学习计算机的,或者不学习计算机的,都一定听说过二进制这个词语。什么逢二进一,反正感觉不像人话,也听不懂。不管懂不懂呢,大家基本都认识到了二进制的巨大威力,并且也知道了这样一个笑话,世界上有10种人,一种懂二进制,一种不懂二进制。所以,这一次,我想讲讲二进制的一些故事。$ p: D9 s. i3 y2 h; k* s

; G7 o) F% H% h0 q: d) r- e
计算机原理(二进制) shutterstock_1141880129.jpg

4 S' H8 z5 i/ a0 ^% ?- J在正式讲二进制之前,我先来说说二维码。5 e. T8 H1 e, |, b) s

! e& F  i! d/ l/ k1 o6 U8 J' G二、二维码3 A8 m; @: F4 v
3 o0 [* o7 d; N: {/ d" s) i" g$ l
自从手机时代以后,每个人都难免要扫一扫二维码。什么是二维码呢?简单来说,二维就是平面,码就是code的意思,编码。二维码就是在平面方向上一个黑白相间的图形。  a5 y; D6 p2 a3 C/ ^
  e1 }8 R0 u3 P2 C8 m* O3 x* b
计算机原理(二进制) QR_code_for_mobile_English_Wikipedia.svg.png
  i! K" h) P6 H) ]
比如说,我们经常使用的微信的二维码就是其中的一种,也是最流行的一种二维码,叫做矩阵式二维码。这个二维码上有三个最大的色块,就是角上那三个最大的色块,是用来定位的,这样就不怕扫描二维码的时候,手机拿偏了,导致信息扫描不出来。
. f6 P, b' b" S8 R6 U- ^# R& \6 w  {
矩阵二维码有很多版本,在这里只讲version 1, 一个21×21的矩阵。二维码有40个尺寸,每一个尺寸增加4,也就是说version 2是25×25,最大的尺寸是21+(40-1)*4 = 177,最大的尺寸就是177 X 177个小格子。可以把这个想象成围棋的棋盘。对二维码进行编码就是把这个棋盘涂成黑白两种颜色。其中当然包括很多其它的技术细节,我只讲几个技术细节,首先讲纠错码。
8 y: K: I  g( l1 T% j$ V# `( O+ i' f( q" N
在我们常见的二维码中,分为四种级别的纠错码,分别是LMQH四种级别。L 级别是7%的字码可修改,M级别是15%的字码可修改,Q级别是25%的字码可修改,H级别是30%的字码可修改。所以,二维码破损也可以被识别。很多人在二维码上加上自己的头像。二维码纠错的算法是Reed-Solomon error correction(里德•所罗门纠错算法),比较复杂,纯数学。然后再将这数据和纠错码交替放在一起,最后一步才是填充最后的编码。
( K  F- z4 ]3 K7 l# i7 `7 |$ B9 q# E) [
填充的过程是从左下角开始填充,黑色代表1,白色代表0,如果碰到非数据区,就绕开或者跳过,最后,就生成二维码的图片。生成以后,如果二维码出现大面积的空白或者黑色,扫描起来会更困难。所以,最后填充的图片还要经过一个操作,叫Masking(化妆)。QR里面有8个不同的图形供大家选择,这8个图像黑白分布非常均匀,因此,还要把最终生成的图像和这8个提供的mask图像做一个XOR操作。这个Mask操作只和数据区进行操作,不会影响功能区。所以我们看到的二维码,不会出现大片连续的黑色或者大片连续的白色。
5 i: r& Y0 B& s, k
' K2 l0 E# O* W. o& ]9 P" Z2 F我为什么讲二维码呢?因为二维码可能是目前我们用眼睛看到的,用的最多的一种二进制。黑色的代表1,白色的代表0。计算机中就是使用二进制。
: N+ T" ?: T: m9 t( u/ h- B7 X" d% j# o! k
三、十进制0 S- ~: ~: G% i/ U8 V

0 w" U  p4 G0 |0 h+ U2 w# f# J不管我们是去日本还是去美国,可能其它的文字看不懂,但是去超市的话,有一个东西一定看得懂,就是数字。从0-9这十个数字,不管哪个国家,都是使用这个方式来写数字,除了一些美洲的印第安人部落可能使用其它的计数方式。可以说,阿拉伯数字是最通用的语言。这0-9的十个数字是人类广泛使用的计数体系。据说,十进制在5000多年以前就出现在古埃及了,中国也考证说在殷墟里的甲骨文上也发现了十进制,大约3000多年以前。具体是不是真的,我不知道。8 }' g+ R  f5 b  f

/ `; e9 u8 q! q: S有个说法是,因为人有十根手指,所以才使用十进制,如果青蛙来计数的话,可能是8进制,因为青蛙可能是有四根手指头,我从网上搜了几张图片看了一下,感觉是四根手指头。当然了,我不懂生物学,只是个程序员,闷声写代码,如果说错了,不要笑我太简单太幼稚。如果青蛙会认识数字的话,应该也是数手指头,可能会用8进制,所以,以后如果青蛙开始制造电脑,天生使用八进制,应该是个非常大的优势。
2 ?% W. n* o; S* P8 Z! M. G5 F+ v: c% I# e
四、算盘; U9 N. c0 F9 [4 m- d0 `6 u
2 J) a' F# d% y( R1 x- z7 _
算盘这个东西,我们这里有意无意的暗示,这玩意是中国发明的,而且算盘和计算机有莫大的关系。这么说也不算错,中国算盘确实是中国发明的,但是这个世界上存在各种各样的算盘,有巴比伦算盘,有古希腊算盘,有古罗马算盘,样子都差不多。都是使用一些小球球来计数,中国的算盘其实是宋朝末期,元朝初期才开始大规模流行。在此之前使用的方法是算筹,这玩意也很先进,有兴趣的可以研究一下,算筹这个从周朝,汉朝就大规模使用了,就是用一些木棍就能计算。( s& F# U+ O7 C; j8 h* v/ [

" z4 D1 u1 k0 I: ~* x
计算机原理(二进制) Replica_of_Han_Dynasty_Counting_rods_in_National_Museum_of_Natural_Science_in_Taiwan.jpg
8 n  @6 [" H  H1 |; C$ x% t
我们古代的算盘是上面两个珠子,下面五个珠子。如果用这种算盘来计数十进制的话,有两个珠子永远都用不到,所以,日本的算盘是上面一个珠子,下面四个珠子,我们中国现在的算盘,基本上也是日本算盘的样子,当然,现在都用计算器了。现在很少见到有人用算盘了。我看过一篇文章,因为中国有一个成语叫“半斤八两”,那篇文章里说,中国古代的算盘其实是计算十六进制的,如果那篇文章是正确的,那就能解释为啥中国古代算盘是上面两个珠子,下面5个珠子,因为这样,正好是十六进制中的最大的数15,而中国古代,16两算一斤,不是现在的10两算一斤。我个人认为这个说法是靠谱的。
( E" u2 S' o/ w; q
# s9 W* A! F) Q& C) K算盘虽然不用了,但是,我们可以通过算盘来理解进位的概念。我们以上面一个珠子,下面四个珠子的日本算盘为例。: Q, j3 W* K6 _+ G3 \

# H4 F! {) c: `0 l9 v& {3 o
计算机原理(二进制) unnamed.jpg

  Z0 g2 }% T3 y; i当我们要输入9的时候,在最后面的一栏,使用上面一个珠子,下面四个珠子,如果输入数字10,只能使用倒数第二位的一个珠子,也就是所谓的逢9进1。如果我们使用二进制算盘,每一栏只需要一个珠子,因此,只要表示超过数字1,就进一位。所以,当有进位的困扰的时候,心里想一下算盘就好了。  z- b" l  C. Q# f0 k
0 ^- ~/ L6 T0 s4 X9 L; _5 ?8 g
二进制对计算机来说,尤其是我做的这个系列,使用继电器来构造一个计算机,只要有电流通过就是1,没有电流通过就是0。因此,这样对计算机来说,使用二进制很简单,但是,对人类来说,二进制的长度太长了,增加的速度太快,并不容易读,为了解决这个问题,每四个二进制组成一组,这样可以组成八进制或者十六进制,从某种意义上来说,八进制和十六进制,纯粹是为了满足人类的可读性,对计算机来说,都是二进制。7 |! D4 A  M5 Y' A, N. K
1 Z- L  r+ f+ J/ Z1 F; p6 ~
在1950年左右,一个美国数学家意识到二进制的重要性,这个数学家的名字叫约翰•威尔德•特克,他决定给二进制起一个名字,在此之前二进制的英文单词是binary digit。这是两个单词,这个数学家想起一个更短一点的名字,在选定了好几个名字以后,最终选择了bit这个单词,这个单词只要三个字母,最终也证明了这个数学家的眼光,bit这个单词可以入选上世纪最重要的单词之一。另外,也有人说这个名字是信息论的提出者香农命名的bit,这两种说法都有,我也不知道哪个是真的,所以,留给有考据癖的各位自己去考据吧,考据好了,告诉我一声。9 Q" e4 e; B: ^6 L" F; f8 z

7 f: O8 \; v' D7 [; o五、bit的意义
" z+ |' t  m" k' C9 V+ {' }' f# Z  T$ h. J  i* e# ?4 N3 {3 i( f
bit到底有什么意义呢?当我们发明一个单词的时候,通常要有某个特殊的意义。在计算机中,比特的意义是信息的最小单位,1比特在计算机中是最小的信息量,也就是说,在计算机上,我们不能传播小于1比特的信息。比特传播的信息非常小,如果要传播更多的信息,就需要更多的比特。
, u0 J  k1 r7 R5 X, H0 ~: y9 |8 Q  @/ z
那什么是信息呢?你追个女朋友,她答应或者不答应是一种信息;今天有雾霾或者没有雾霾也是一种信息;这种信息是可以通过计算机传播的,因为这种信息是非此即彼。还要一种信息是没法通过计算机来传播的,尤其是情绪,比如说,女朋友今天的心情,你说好吧,又不太好,你说不好吧,又还可以。/ T$ Z& ]$ s2 }, L( q' Q

& N. a; j; k: j! K6 U这种信息不是非此即彼的,电脑中无法表示这种状态,女朋友的脾气嘛,一会儿好,一会儿坏。这种信息对我们人类至关重要,但是,使用计算机的确非常难以表示这种状态。所以,至今为止,不管人工智能如何发展,我们人类还是没有和计算机建立起某些浪漫的关系。因为二进制的计算机目前只能表示出来确定的状态,不会撒娇,所以,一点也不可爱。
6 y' g' n" V, ]7 ^& F3 b5 W/ P7 @' Z! x# j
也就是说,如果我们无法使用文字,图画或者声音来表示某种事物或者信息,那么我们也没办法用计算机表示出这种信息。比如说,你犯了错误,你女朋友一个犀利的眼神,让你后背发凉,这个犀利的眼神,无法用文字,也无法用语言,更无法用图片表示出来,这种的确存在,而又尽在不言中的信息,计算机无法搞定。( i) Z$ ?7 X' g; a1 {+ _( |, t

  w  g0 G0 \# {+ v; ^; I所以,我对人工智能在某些特定的领域超过人类,没有任何怀疑,如果说人工智能全方位超过人类,我是有怀疑的。计算机在一些确定的领域,尤其是非黑即白的领域,比如围棋,象棋领域,还有一些游戏领域,比如说踢FIFA足球游戏,如果调成难度很高的话,实际上很难赢电脑,这也算是人工智能的一种。只是电脑踢球能赢了人类,没引起关注,由于围棋以及Google的阿尔法狗才觉得人工智能要翻天了。
8 s7 [- |; D! O1 u( X/ v3 D( v
; m; S; K1 _% l. ^1 R8 i: h. J六、人工智能' _' J% _8 `7 Q7 ]1 j

" d. J' Z! v( N" ]既然谈到这里,我就多说一点人工智能,显然今天说这个话题,有点落伍,因为Google的AlphaGo以及不是热点了。其实Google的AlphaGo是收购的一个公司,这个公司叫DeepMind公司,是搞深度学习的。深度学习也不算特别前沿的科技,他有一个名字叫人工神经网络,如果年龄比较大的话,肯定听说过这个名字,人工神经网络,一个被抛弃冷落了很多年的技术。5 o: x9 H' z0 |' S$ @# \8 }

! G) h4 p4 X  ^1 w+ w: ^7 b这个人工神经网络技术在80年代是热点,90年代被各大研究机构以及各个大学抛弃。所以,正经的名牌大学,根本不怎么研究这玩意。因此,现在人工神经网络改名叫机器学习以后,并且突然热门以后,我们就会发现一个神奇的现象,最热门的热点,不是在美国,而是在加拿大,比如多伦多大学,蒙特利尔大学,这些游离与著名与非著名大学的那种学校,主要的那些著名大学,根本没有研究这种东西的,感觉落后了啊。5 v: c7 V1 ^% T& n. r0 T

7 k7 s2 @( T4 h" |让人工神经网络咸鱼翻身的转折点是一篇论文,主要是用来识别手写字母的,当时主流算法的准确率是98.6%,然后一个计算机科学家使用深度置信网络,这是一种神经网络,把准确率提高到98.75%,一下子就超过了主流的SVM算法,然后大家才又开始关注人工神经网络。现在人工神经网络已经在语音识别,包括苹果的siri还有微软的小冰,亚马逊的echo,这些都是深度学习,还有图像识别等领域大放异彩。
* U' P0 N$ g) M& l7 l! Y( E( B- q; J. o% l% G
以后怎么样,我当然肯定是不知道的,搞不好某一天被某个算法拉下马也是很有可能的。比较深度学习就是这么被冷落了十几年,突然又开始红起来的。
6 X5 O' D  V2 j8 ]5 @+ Q# W' Y; k
7 x6 I/ m# V$ H4 _; ^1 m* S0 C七、我的一些胡思乱想
+ |1 w8 z! w1 z, _. ~; I) w" Y3 C2 N/ L, i
人工智能这个东西,我其实一直很关注的。人类这个物种,其实所有人的预测都不怎么准,唯一能提高命中次数的方法就是每天多预测几个事情,然后总有一个两个能预测准确,瞎猫碰到死耗子也能蒙对几个。暂时我们先不管人工智能,先看看其它的领域,都是科学领域吧。
% A2 q4 z* c& R% Z% ?1 K& G4 A6 R1 H$ D7 q# X! S! ^
上个世纪,人类造出了原子弹,还把人送到月球上,然后乐观的预测家就说,再过50年,核能驱动的汽车满大街跑,50年内火星上移民不是梦。悲观的预测家则另外一套说辞,完蛋了,练核弹都造出来了,第三次世界大战肯定是互相扔核弹,人类肯定要灭绝了。现在早就超过50年过去了,我们再来看看这两个阵营的预测,都错的十万八千里。
, W2 A& ]% @# Z7 A$ M$ U$ G$ U5 S" F3 f2 q6 f% v/ @
乐观者说的核动力汽车满大街跑的景象肯定没出现,别说核动力汽车,我们现在造个汽车,还断轴,不是前轴断就是后轴断,还得弄一块铁板,打个补丁来解决问题。悲观者说世界末日来了,其实人类就使用了两次核弹,都给了日本。如果想灭绝人类,估计还得靠老朋友金三胖,这个最有出息的80后每天就知道放炮打炮。0 ?& e$ t. N) p- g. J
% r5 ]" O3 D8 |2 t" o" q
同样是上个世纪,物理学突飞猛进,一个接一个的理论接踵而至,相对论量子力学一个接一个的出现,乐观者也是很高兴的预测,大统一理论近在咫尺了,结果现在也没搞定。去年还是前年,有个荷兰的科学家提出了墒增理论来加强爱因斯坦的广义相对论,至于这个理论正确不正确我不知道,起码证明了目前还没有搞定大统一理论,预言家又再次乐观过头了。# ^8 c. U; Q4 e$ Q' n
9 P; z7 ^3 ^/ {( D4 d
墒增理论很神奇,墒永远都是增大的,永远增大,不会减小,这个广告词可以当男科医院的广告词,墒增男科医院,永远变大,不会缩小。以后有钱了,我打算注册一个男科医院,就叫墒增男科医院。
% U5 J  L0 s) W6 [  \+ }6 [& m: d& a  _, S: L& E; b% G$ X
换到人工智能这个方面,乐观者说,马上了,奇点临近,人类赶紧准备准备后事,马上就没有人类啥事儿了。这个观点现在是主流观点,因为这个观点很吓人,尤其是国外有个博客叫wait buy why,这个博客上写了关于人工智能的一篇文章,然后我觉得国内基本上所有的观点都是这篇博客还有《奇点临近》那本书里的。  |4 Y" q* j1 i
; ^. \: w- g! r# Q8 V
这个是主流的观点,就是人工智能马上超越人类。我个人觉得,不能太乐观啊。因为核能汽车我们没有见过,再过50年也够呛。大统一理论我们也看不到,其实物理领域,已经差不多停滞了五六十年了,还是不要太乐观的好,最被看好弦理论也没啥突破性的发展。最近看新闻说,谷歌公司的无人驾驶汽车项目已经接近取消了,按照谷歌一贯的原则,很多都是宣传的天花乱坠,最后搞的不声不响就砍掉,比如谷歌眼眼镜,还有组装汽车项目,还有通过气球上网项目,还有每一两年出一个聊天软件项目,最近的最震撼的就是谷歌的自动驾驶项目。& v" K0 l3 q, q( H! c
% G! V; U/ q+ G; t2 i
要知道,谷歌当时宣传的,以及很多媒体跟风的,说这玩意比人开的好,显然,应该是没达到目的。否则,干嘛不量产,而是选择取消项目呢?只留下乐视自动驾驶汽车一路狂奔了…8 G3 \, {* p  P" Q. D/ o+ n3 F, L$ ^
* v7 C2 i0 F8 |$ E
如果我们有了达到甚至超越人类的人工智能,她们会不会是个有趣的家伙。通过二进制,做出会下棋的软件没什么问题,只是,通过二进制,能不能模拟出含情脉脉的眼神。这件事情,我经常纠结。而且也一直没有答案。
9 z3 b' W6 A. x7 H9 K2 T+ W$ O# e8 J! ^9 j& u
反正,我现在碰到有人自称是搞人工智能和大数据的,我一般认为这个人是个骗子,对这两个行业的人,我狭隘的思想就是对他们做有罪推定。尤其是现在经常会出“中国人工智能创新百人榜”和“中国大数据创新百人榜”,然后上面列出100个牛人,让我想起了武侠小说里的平湖百晓生弄的那个《兵器谱》,非常的不靠谱,兵器谱排名靠前的,都是被排名靠后的给弄死了。) m6 x. Y" d) E1 i+ K6 L

% [  _% K6 Z( Z
上一篇
下一篇


0猫小蛮0 「初入古黑」 2020-3-31 20:03 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

作为新人,在论坛不敢大声说话,也不敢得罪人,只能默默地顶完贴转身就走,不求深藏功与名,只求前排混脸熟
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2021-9-26 05:21 , Processed in 0.027143 second(s), 21 queries , Redis On.

© 2015-2021 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表