二进制是怎么回事?计算机原理(上)
二进制
我们生活中最常接触的是十进制,通过十进制来理解二进制最为方便,下面以255这个十进制进行说明。
百位 10^2 |
十位 10^1 |
个位 10^0 |
2 | 5 | 5 |
255 = 2 * 100 + 5 * 10 + 5 * 1
注:*表示乘以
255 = 2 * 10^2 + 5 * 10^1 + 5 * 10^0
注:^表示次方
255用二进制表示。
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
255 = 1 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 1 * 4 + 1 * 2 + 1* 1
255 = 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0
十进制中,每一位只有十种可能,0到9,当出现大于9的数字时,往上进一位,冯十进一。
二进制中,每一位只有两种可能,0和1,当出现大于1的数字时,往上进一位,冯二进一。
255用8进制表示。
8^2 | 8^1 | 8^0 |
3 | 7 | 7 |
255 = 3 * 64 + 7 * 8 + 7 * 1
255 = 3 * 8^2 + 7 * 8^1 + 7 * 8^0
小任务:尝试分别用2进制、8进制、10进制表示1222这个数字。
字符编码
发现没有,用二进制表示255正好是8个1,也就是1111 1111。
用二进制表示256,则要再往上进一位,2^8位。也就是说,如果用8位二进制数代表不同的符号,就可以表示255个符号。
255个符号也许不多,但是用来表示英文(大小写)字母、标点符号、甚至一些数学符号都绰绰有余了。
ASCII(发音: /ˈæski/ ASS-kee[1],American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。
像中文、日文这种有大量文字的语言,8位显然不够用,所以后来又制定了很多16位的字符编码,这里不再赘述。
存储单位
在电脑中,8位(bit)为一个字节(Byte,简称B)。
你可能对Byte不熟悉,但一定知道KB、MB、GB。
1KB = 1024B
现在我们的电脑容量通常都在500G,而1G就有8,388,608位。
本次我们了解了进制换算和存储单位,下篇文章,将介绍计算机为什么采用二进制及存储、运算原理。
↓点击下方 阅读原文 查看《为什么用Bug形容软件漏洞?原来是这么来的》