zoukankan      html  css  js  c++  java
  • 第4集 二进制

    本集主题:计算机如何存储和表示数字

    1. 布尔代数只有两个值,那如何表达更多的东西?

    这就需要数学了。 如果想要表示更多的东西,加位数就可以了。

    这和十进制一样,十进制有10个数(0到9),要表示大于9的数,加位数就可以了。

    二进制也可以这样。
    例如:二进制的 101 是十进制的 xxx
    为了表示更大的数字,二进制需要加位数即可。

    2. 二进制中的一个 1 或者 0 叫一「位」

    8位能表示的最小数是0,即00000000(8个0),最大数是255,即11111111(8个1),能表示256个不同的值,即2的8次方。

    8位的例子有很多。
    例如:8位机、8位图像、8位音乐、8位游戏(只能使用256种颜色)
    意思是在计算机里面,大部分操作都是8位8位这样处理的。

    8位如此常见,以至于它有专门的名字:字节。1字节 = 8位。

    二进制里面,1 千字节 = 2 的 10 次方 = 1024 字节,1000 也是千字节的正确单位,1000 和 1024 都对。

    3. 你可能听说过 32 位电脑或者 64 位电脑

    意思是处理一块块的数据,每块是 32 位或者 64 位
    32 位能表达的最大数是 43 亿左右,也就是 32 个 1
    举例:instagram 照片很清晰,他们有上百万中颜色,因为如今都使用 32 位颜色。

    4. 不是所有数字都是正数,我们需要有方法表示正数和负数

    大部分计算机用第一位表示正负。1 是负,0 是正,用剩下 31 位来表示数字,能表示的数字范围是正 20 亿到负 20 亿,
    虽然数字很大,但是有的时候还是不够用。
    例如:
    全球有 70 亿人口,美国国债近 20 万亿美元
    所以,64 位很有用。

    5. 计算机必须给内存中的每一个位置,做一个「标记」

    这个标记叫“位置”,目的是为了方便存储数据。

    6. 浮点数

    1. 除了正数和负数,计算机也要处理非整数,即浮点数,因为小数点可以在数字间浮动;

    2. 表示浮点数的方法,最常见的是 IEEE 754 标准,它用类似科学计数法的方法,来存储十进制值,
      例如:625.9 可以写成 0.6259 * 10 ^ 3;

      注意:这里 . 6259 叫「有效数位」,3 是指数。

    3. 在 32 位浮点数中,第 1 位表示数字的正负,接下来 8 位存指数,剩下 23 位存有效位数。

    7. 计算机如何表示文字?

    1. 使用数字表示字母,即给字母编号:A是1,B是2,C是3,以此类推。

    2. ASCII, 美国信息交换标准代码,发明于 1963年,是7位代码,足够存储 128 个不同值,可以表示字母之外的大写字母、
      小写字母,数字0到9,@这样的符号,以及标点符号。
      例如;小写字母a用数字97表示,大写字母A是65,:是58,)是41
      甚至还有「换行符」。

    3. 互用性
      ASCII 让不同公司制作的计算机,可以交换数据,这种通用交换信息能力叫做「互用性」。
      但是有一个限制:它是为英语设计的,即使有一些保留的字符给其他国家「保留使用」,这些保留下来给每个国家自己安排使用的空位,对大部分国家都够用,也有问题。
      例如:在土耳其电脑上打开拉脱维亚语写电子邮件,看到的是乱码;随着计算机在亚洲的兴起,这种做法彻底失效了。
      中文和日文这样的语言有数千个字符,没有办法使用8位来表示所有字符。

    4. 为了解决这个问题,每个国家都发明了「多字节编码方案」,但是不相互兼容,
      所以诞生了「Unicode」,统一所有编码的标准。它设计于 1992 年,用一个统一编码方案解决了不同国家不同标准的问题。
      最常见的 unicode 是 16 位的,有超过一百万个位置,对所有语言的每个字符都够用了。

    5. 不管是 ASCII 还是 Unicode,这些标准归根到底是一长串位。
      举例:短信、youtube 视频,互联网上的每个网页,甚至操作系统,只不过是一长串0和1。

  • 相关阅读:
    Poj(1459),最大流,EK算法
    Poj(3259),SPFA,判负环
    HDU(3790),最短路二级标准
    Poj(2349),最小生成树的变形
    CSUFT2016训练赛
    NYOJ(21),BFS,三个水杯
    Poj(3687),拓扑排序,
    Poj(2367),拓扑排序
    HDU(1856),裸的带权并查集
    HDU(1572),最短路,DFS
  • 原文地址:https://www.cnblogs.com/zxxsteven/p/14900724.html
Copyright © 2011-2022 走看看