购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第2章
数据是用二进制数表示的

热身问答

阅读正文前,让我们先回答下面的问题来热热身吧。

问题

1. 32 位是几个字节 ?

2. 二进制数 01011100 转换成十进制数是多少?

3. 二进制数 00001111 左移两位后,会变成原数的几倍?

4. 补码形式表示的 8 位二进制数 11111111,用十进制数表示的话是多少?

5. 补码形式表示的 8 位二进制数 10101010,用 16 位的二进制数表示的话是多少?

6. 反转部分图形模式时,使用的是什么逻辑运算?

怎么样?是不是发现有一些问题无法简单地解释清楚呢?下面是笔者的答案和解析,供大家参考。

答案

1. 4 字节

2. 92

3. 4 倍

4. -1

5. 1111111110101010

6. XOR 运算

解析

1. 因为 8 位 = 1 字节,所以 32 位就是 32÷8 = 4 字节。

2. 将二进制数的各数位的值和位权相乘后再相加,即可转换成十进制数。

3. 二进制数左移 1 位后会变成原来的值的 2 倍。左移两位后,就是 2 倍的 2 倍,即 4 倍。

4. 所有位都是 1 的二进制数,用十进制数表示的话就是-1。

5. 使用原数的最高位 1 来填充高位。

6. XOR 运算只反转与 1 相对应的位。NOT 运算是反转所有的位。

本章重点

要想对程序的运行机制形成一个大致印象,就要了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。在 C 和 Java 等高级语言编写的程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。也就是说,只要掌握了使用二进制数来表示信息的方法及其运算机制,也就自然能够了解程序的运行机制了。那么,为什么计算机处理的信息要用二进制数来表示呢?接下来我们就从其原因开始说起。 ZYpYPoWSbU6obOJAO7/w+mDWJArMuomun/3OyKdUGQi9ydlR3FIbD9J6aeS/Spsj

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开