[WIP] 给女朋友讲计算机系列 -1- 比特、字节、数字的二进制、16进制表示

声明:通俗易懂和专业准确的权衡

0 和 1 的世界

计算机只认0和1,所有的数据都由 0 和 1 的组合:数字、字母、汉字、图片、音乐、电影、游戏、网页等都可以由很多的0/1组成。

计算机如何知道一长串的0/1是什么含义呢?

比如 0100 0001 可能表示数字 65,可能表示大写字母A,可能和其他更多的0/1共同组成一个汉字,也可能表示图片的一个点的颜色,其意义完全取决于人们约定的规则

比特和字节

字节是计算机的基本单位。人们常说的一个Word 文档 40 KB,一张图片 4 MB,一首歌 10 MB,一部电影 4 GB,内存 8 GB,存储 512 GB等等。这里的大“B”就是Bytes,字节。
比特:宽带500M 宽带 实际上的指速度为 500Mbps的宽带,bps是 bit per seconds,即比特每秒。所以 500M 的宽带最快下载速度不是500MB/s,而是(500M bit/s)/(8 bit/byte)=62.5 MByte/s。比特,bit,一般用小b表示。

正着说一遍:每一个0/1叫做一个比特(bit),8个比特组成一个字节(Byte)。通常计算机一次最少处理一个字节。
反着再说一遍:一个字节有8个比特;每个比特只能是0或1,8个比特一共可以表示 2^8 = 256 种组合,可以代表256种含义(取决于人们约定的规则)。

二进制:用0和1表示数字

首先想到用8个比特表示 0-255:人们约定,高位到低位每个bit有不同的权重,如此便可用8个bit表示0-255的所有数字

高位 低位
权重 128 64 32 16 8 4 2 1
举例:0 0 0 0 0 0 0 0 0
举例:35 0 0 1 0 0 0 1 1
举例:65 0 1 0 0 0 0 0 1
举例:128 1 0 0 0 0 0 0 0
举例:255 1 1 1 1 1 1 1 1

16进制:和二进制没有任何区别,只是二进制的更简单的表示法

用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示4个比特 0~15
一般加上前缀0x,提醒读者接下来是16进制

表示更大的数:用多个字节表示

表示负数:补码

表示浮点数:IEEE

表示字符

表示英文字母:ASCII

表示汉字

表示所有的符号

表示其他

[WIP] 给女朋友讲计算机系列 -1- 比特、字节、数字的二进制、16进制表示

上一篇:设计模式-策略模式


下一篇:最小路径和 动态规划