美文网首页python初学者程序员@IT·互联网
跟我读python3文档:001_编程的本质是什么!(上)

跟我读python3文档:001_编程的本质是什么!(上)

作者: 咖喱py | 来源:发表于2017-08-16 07:48 被阅读1730次

    贯穿始终的理念:别废话,就是干!


    编程的本质(上)

    编程就是控制计算机做我们想让它做的事情。如何控制?一句话概括:通过通断电控制。

    举一个最最简单的编程例子:开关灯泡!

    你没有看错!就是开关灯泡!我们通过一个开关,改变了灯泡的状态!给电,亮!断电,不亮!我们通过通断电的方式,操作灯泡电路,让灯泡做了我们想让它做的事情。

    但实际的计算机是远比灯泡电路复杂的多的通断电电路。你可以想象一下,控制自己卧室的灯泡亮灭,和控制整栋楼的灯泡亮灭,甚至控制整个国家,整个世界的灯泡亮灭,难易程度是完全不同的。
    当然,随着灯泡越多,我们能表达的信息也就越多。
    这里给大家举一个小例子:https://www.bilibili.com/video/av13418869/

    我们继续说回灯泡:

    • 一个灯泡:有亮灭两种状态。可以表达两种状态。比如父母可以通过你卧室的灯光判断你有没有睡觉。
    • 两个灯泡:有4种状态。哪四种呢?
    左灯 右灯

    想想看,这是不是意味着我们只用两个开关就可以表达出四种信息?

    • 三个灯泡:有8种状态。
    • 四个灯泡:有16种状态。
    • 五个灯泡:有32种状态。
    • 六个灯泡呢?
    • 七个灯泡呢?
    • 那么更多灯泡呢?

    我们会发现,灯泡的数量与其能表现出的状态是2的N次方关系。
    这种N次方的数量关系,是不是意味着:随着灯泡的增多,我们只要用相对较少的开关,就可以控制一定数量的灯泡的亮灭,表达出足够多的信息!
    这就是计算机的一个基本原理之一。

    而在计算机中,这种一个灯泡表示亮灭的最小信息单位就叫做bit,中文翻译为:
    而亮灭的状态也用数字10来表示。1表示亮、表示通电等意思;0表示不亮、表示断电等意思。
    这种用01两种不同状态表达信息的方式,就是我们常常谈到的二进制!

    但是光有二进制还是不够,一个bit能表示的信息太少了,所以,人们规定,我们把八个bit打包成一组,并且命名位:byte,中文翻译为:字节

    那么,一个字节可以表现出多少种状态呢?2的8次方,也就是256种状态。
    但是我们还面临一个问题,这些状态都表示什么?

    你可以想象一下,你在自己窗台上摆了8个灯泡,街对面的小伙伴也在窗台上摆了8个灯泡,你点亮了其中两个灯泡:01001000,然后又重新点亮了4个灯泡:01101001。你的小伙伴怎样才能理解你的意思,并且回复你呢?

    除非你们规定好了不同亮灭组合表示的意思。于是ASCII规则应运而生,大概发音:啊思key。
    具体对照规则可以参考以下链接:
    ASCII: https://zh.wikipedia.org/wiki/ASCII
    这就是我们常说的字符编码规则。

    规则不止这一套,还有:GBK、UTF-8等。
    目前通用的是UTF-8,因为它通过小灯泡的组合,可以表示几乎所有国家的文字,并且兼容ASCII。

    等等!不是说8个小灯泡只能表示256个字符吗?光中文也不止256个啊,怎么表示全世界的文字呢?
    原因很简单,8个不够,再来8个不就够了,没错,UTF-8用了16个小灯泡表示字符。。。

    对照表格看看,上面两组小灯泡组合0100100001101001表示什么意思~

    鉴于大家刚刚开始接触编程,所以这一小节就写到这里吧。今天只要理解bitbyte的概念就行了。

    我们将在下一小节通俗的讲解编程时,我们到底是在干什么?


    《跟我读python3文档:002_编程的本质是什么!(下)》

    相关文章,请点击文集《跟我读python文档》

    相关文章

      网友评论

      • 微雨屋檐:哇哇!!找到组织了,最近正打算学Python编程呢😆
      • 笑脸_69f2:期待更新
        咖喱py:@笑脸_69f2 更新在这个文集:http://www.jianshu.com/nb/15462599
      • 笑脸_69f2:期待更新
      • 06d4b8a80582:我是学设计的,发现还是需要懂些变成原理,真好打开就看到了:smile:
      • 再见了他:加油^0^~
      • biaoqianwo:写的不错,通俗易懂👍
        咖喱py:@biaoqianwo 一直怕自己写的不明白,有你这句评论就放心多了。

      本文标题:跟我读python3文档:001_编程的本质是什么!(上)

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