官术网_书友最值得收藏!

第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等高級語言編寫的程序中,數值、字符串和圖像等信息在計算機內部都是以二進制數值的形式來表現的。也就是說,只要掌握了使用二進制數來表示信息的方法及其運算機制,也就自然能夠了解程序的運行機制了。那么,為什么計算機處理的信息要用二進制數來表示呢?接下來我們就從其原因開始說起。

主站蜘蛛池模板: 梁平县| 家居| 汉寿县| 富源县| 福泉市| 广水市| 台南县| 鹤山市| 安新县| 昌都县| 宁德市| 瓮安县| 靖边县| 武川县| 清丰县| 蓝田县| 连山| 滕州市| 修文县| 靖远县| 台湾省| 谷城县| 怀化市| 古蔺县| 贵州省| 玉林市| 新绛县| 朝阳区| 安塞县| 黔江区| 宝应县| 塘沽区| 理塘县| 永泰县| 鄂托克前旗| 津南区| 即墨市| 玉门市| 湖南省| 阳山县| 陇西县|