文章目录
二进制
对于任何已知类型的传统计算机而言,均以1和0作为编码形式进行程序计算。
在电路结构中,高电平与低电平对应表示1和0。
计算机内部表示任何数据都是用二进制。而与人进行交互时,可以将数据转换成人可以理解的内容:10进制、文字、图片、音频视频。
不同进制的计算方式是相通的:
十进制 十进制逢十进一 |
二进制 二进制逢二进一 |
---|---|
9+1 --> 10 | 1+1 --> 10 |
99+1 --> 100 | 11+1 --> 100 |
从0开始一直加1:
十进制 | 二进制 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
… | |
128 | 10000000 |
十进制乘10和二进制乘2运算比较:
十进制乘10 | 二进制乘2 |
---|---|
93*10 --> 930 | 1*2 --> 10 |
930*10 --> 9300 | 10*2 --> 100 |
9300*10 --> 93000 | 100*2 --> 1000 |
93000*10 --> 930000 | 1000*2 --> 10000 |
常用的二进制值:
十进制 | 二进制 | 用2的指数表示 |
---|---|---|
1 | 1 | 2^0 |
2 | 10 | 2^1 |
4 | 100 | 2^2 |
8 | 1000 | 2^3 |
16 | 10000 | 2^4 |
32 | 100000 | 2^5 |
64 | 1000000 | 2^6 |
128 | 10000000 | 2^7 |
256 | 100000000 | 2^8 |
512 | 1000000000 | 2^9 |
1024 | 10000000000 | 2^10 |
2048 | 100000000000 | 2^11 |
4096 | 1000000000000 | 2^12 |
8192 | 10000000000000 | 2^13 |
每加一个0都是乘2,所以用2的指数来表示。
例如 10000000,1后面有7位,就可以用2的7次方表示。
用2的指数可以很方便的表示任意的数字值:
10进制 | 2进制 | 2的指数 |
---|---|---|
1 | 00000001 | 2^0 |
8 | 00001000 | 2^3 |
16 | 00010000 | 2^4 |
32 | 00100000 | 2^5 |
相加 | 相加 | |
57 | 00111001 | – |
面试题
1000个苹果,分装在若干箱子中,不管客户要多少个苹果,都可以直接交付给客户几个箱子。
问:这1000个箱子如何进行装箱?
bit 和 byte
- bit - 位
- byte - 字节
一个 bit 表示一个电位,1 或 0;一个 byte 表示 8 个电位。
个人安装的光纤宽带如果是 100 兆宽带,下载最高