外行学计算机——01早期人们如何计算

发现了一个宝藏系列科普视频:十分钟速成课:计算机科学。每一集只有10分钟,太有趣了!国内啥时候能有这么好的科普视频啊!

作为非科班出身的程序员,这个系列视频有趣性和科普性很足,好消化好吸收,时而不时也会有一些恍然大悟的瞬间,本文就是来记录这些Spark时刻💥
在这里插入图片描述

1、早期人们如何计算

最早用算盘,不同列的珠子分别代表1,10和100,通过手扒拉珠子来计算。
后来人们还发明了很多机械计算设备,比如摇动齿轮的步进计算机等。但是这种机械装置很大算起来很慢。为了满足美国人口普查对计算速度的要求,有人发明了制表机,使用打孔纸带进行计算。
在这里插入图片描述

2、来电了之后,人们怎么计算

为了取代打孔纸带,人们必须寻找其他的控制电路开闭的开关。最开始用继电器,在电路开关附近放一个磁铁线圈,通过控制线圈的磁性,来控制电路的通断。但是这样的设备体积大,为了满足大量计算需求,需要数十万个继电器,数目多,故障次数也多。而且它吸引虫子(bug),这就是debug的来源。
后来逐渐发明了热电子管和晶体管,最后晶体管因其更小、更快、更耐用胜出。成了现代计算不可缺少的计算基础元件。制造晶体管的因特尔公司,火了就。

在这里插入图片描述

3、计算机存储单位

晶体管电压高于一定值表示“1”,低于一定值表示“0”。

在这里插入图片描述


  • 计算机存储数据的基础单元就是位,值为0或者1。
  • 字节
    一个位能表达的信息太少了,因此常将单个的位连接组合起来,组成更大的存储单元,我们称这种最小组合单元为一个字节(byte),一个字节由 8 个位构成。
  • 32/64位
    我们通常所说的 32 位机器或者 64 位机器其实就是指CPU内部寄存器次能处理的数据大小,32 位即 4 个字节,64 位即 8 个字节。

4、二进制如何描述世界

  • 浮点数怎么存
    32位或者64位,分别存正负号、阶次和有效数字
  • 英文字母如何处理——ASCII
    美国采用ASCII码,每个ASCII码只占用一个字节,可以表示256个字符。可用于给拉丁字母和标点符号编码。
  • 中文日文如何处理——Unicode
    ASCII只能存256中不同的字母符号,对于中文日文等存不下。
    所以全球采用了Unicode统一的编码,涵盖各国文字,还包括emoji😀
    但是Unicode存在两个问题,对于英文字母只占1个字节,对于中文可能需要多个字节,那么怎么知道多个字节表示一个文字,还是分别多个文字呢。如果同一规定用4个字节,那对于一个字节就够的英文字母存储会产生很大浪费?

在这里插入图片描述

  • UTF-8
    UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式,用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
    • 对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的
    • 对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值