vlambda博客
学习文章列表

二进制是怎么回事?计算机原理(上)


二进制


我们生活中最常接触的是十进制,通过十进制来理解二进制最为方便,下面以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形容软件漏洞?原来是这么来的》