课前问答
1. 32 位是几个字节 ?
4个字节
8位=1字节
32位/8位=4字节
2. 二进制数 01011100 转换成十进制数是多少?
92
将二进制的个数位和位权相乘再相加
3. 二进制数 00001111 左移两位后,会变成原数的几倍?
4倍
左移1位变为原来的2倍
左移2位变成原来的4倍
在左移的过程中,低位用0补
4. 补码形式表示的 8 位二进制数 11111111,用十进制数表示的话是多少?
-1
5. 补码形式表示的 8 位二进制数 10101010,用 16 位的二进制数表示的话是多少?
1111111110101010
6. 反转部分图形模式时,使用的是什么逻辑运算?
XOR运算
本章我们主要学习的重点是:信息在计算机内部以怎样的形式来表示,又是如何运算的?
为什么用二进制表示计算机信息?
IC实物图
前面的学习我们知道,计算机内部是由IC这种电子管部件构成的。
CPU和内存也是IC的一种。
引脚在IC内部并列的排列着,IC的所有引脚,只有直流电压0V或者5V两个状态。也就是说,IC的一个引脚可以表示两个状态。
IC的这个特性决定了只能用二进制来表示处理数据。二进制只有0和1两种状态,刚好和IC引脚的状态吻合。如果我们用其他进制来表示计算机数据的话,状态太多,计算机不能表示,即硬件条件不支持。
二进制的位数一般是8位、16位、32位...也就是8的倍数。
计算机处理的信息基本单位是8位二进制,8bit=1字节。
计算机的内存和磁盘都是都使用字节单位来存储和读写数据。
使用位单位无法读取数据。
案例
用高级语言编写如下程序
在计算机的底层,上面的代码全部转换成由二进制(0/1)表示的数字串,把二进制转换成十进制,我们看到的程序是下面这样的。
这里用十进制来表示对应的二进制,具体的对应关系是根据ASCII来表示字符的。
从上面的分析我们知道,对应的字符都能用一个8位的二进制或者二进制的整数倍来表示。
如果表示的字符不满8位怎么办呢?
比如6对应的二进制数是100111(不满8位),计算机读取数据以字节为单位,即最少读取8位的二进制数,不满8位的,最高为用0补充,6用一个字节来表示就是00100111,用16为(2字节)表示为0000000000100111,总之,在计算机内部,计算机识别数据是以字节为基本单位的,不够字节的高位用0补充。
计算机内部所有的信息都用二进制数处理
小结:这一讲我们主要讲了计算机为什么用二进制表示即计算机底层如何识别数据。
下一讲:我们深入二进制,到底什么是二进制?
![ea565a5bde5fe114ac890d4ab6e25f24.png](https://i-blog.csdnimg.cn/blog_migrate/6356a29f0f1e44736721433eaa8ef8e4.png)
![ff528cb3b64916152a5a7635cea746ca.png](https://i-blog.csdnimg.cn/blog_migrate/d20e7901d063d023781c15380cbe383b.png)
![a4a2c8ce107eca671b4897147eb300a0.png](https://i-blog.csdnimg.cn/blog_migrate/7b1ff378efb0838fc248e9c6404857f9.png)
![58fff614e2bd62d949d3ea51bf39423a.png](https://i-blog.csdnimg.cn/blog_migrate/7a5855c25d1223fedb1c4a15269490b2.png)
![9a22fd5e947ebe10c9cff788fac952c1.png](https://i-blog.csdnimg.cn/blog_migrate/252aef6e8ef3fe3a74e419d7f1e1dbae.png)