學過計算機的人都知道 , 計算機中的數(shù)據(jù)是以二進制形式表現(xiàn)的 , 這已經(jīng)是常識了 。但是如果仔細想想 , 計算機中二進制的數(shù)據(jù)到底是怎樣表現(xiàn)的呢?就值得我們好好思考了 。讓我來解答吧 。
認識二進制能更快的理解計算機中的數(shù)據(jù)是怎么表現(xiàn)的 。
必須掌握的知識點:
1、 二進制、十六進制相互之間的轉(zhuǎn)換
2、 理解計算機中的數(shù)據(jù)形式
理解進制的概念是為我們學習二進制做準備的 。計算機使用二進制 , 那么它為什么要使用二進制呢?
計算機只有在有電的情況下才能工作 , 這是由于計算機本身是由電路組成的 。而電路只有兩種狀態(tài):1、通電 2、斷電 。
通過前面進制概念的學習 , 我們知道任何符號都可以描述進制 , 需要幾個符號 , 我們就把它描述為幾進制 。這里有“開”、“關(guān)”兩個符號 , 所以它用二進制來描述 ?!伴_”和“關(guān)”不便于書寫計算 , 于是就用數(shù)字“1”表示“開” , 數(shù)字“0”表示“關(guān)” 。
每一條電路可以表示一位“0”或者“1” , 那么多條電路就能有許許多多的“0”和“1” , 進而能表示多個數(shù)據(jù) 。就像漢字 , 每一個漢字都是由一些基本的筆畫組成 , 而不同數(shù)量、不同筆畫組成了成千上萬個漢字 。
為什么電路狀態(tài)只有“開”和“關(guān)”兩種狀態(tài)呢?主要因為它受計算機硬件方面的制約 , 它只有“通電”和“斷電”兩種狀態(tài) ?!巴姟焙汀皵嚯姟币部梢园阉D(zhuǎn)換為邏輯關(guān)系“真”和“假” , “通電”表示“真” , “斷電”表示“假” 。
隨著硬件的發(fā)展 , 目前已誕生出“量子計算機” , 它的狀態(tài)除了“0”和“1”兩種狀態(tài) , 即“真”和“假”的狀態(tài) , 它還有另外一種狀態(tài) , 即“非真非假” , 所以量子計算機的運算能力比我們普通的計算機的運算能力要大很多 。目前電子計算機的性能滿足我們大眾的需求 , 它的造價也比量子計算機低很多 , 所以在很長一段時間內(nèi) , 不用擔心被量子計算機淘汰 。
由于計算機只認識0和1 , 這就意味著在計算機中存儲任何文件 , 以及接受任何指令只能由0和1組成 , 無論是一段音樂還是一個電影、還是軟件 。我們打開一個可執(zhí)行程序(.exe) , 看一看它的內(nèi)部是不是全是二進制數(shù) 。
雙擊一個程序 , 我們只能看到它運行的狀態(tài) , 并不能看到它的內(nèi)部情況 。這里我們需要一個文本編輯軟件:UltraEdit , 簡稱UE , 通過它能看到程序的內(nèi)部情況 。在后面的學習中 , 我們會經(jīng)常用到 , 大家可到軟件官網(wǎng)下載 , (網(wǎng)址 ***/) 。
這個軟件操作很簡單 , 打開UE , 只要將需要查看的軟件(或其他文件)拖進UE窗口 , 圖1-3-1我們用UE打開一個網(wǎng)頁的情況:

【計算機中的數(shù)據(jù)形式是怎么表現(xiàn)的呢】圖1-3-1
中間紅色框內(nèi)就是這個程序的內(nèi)部數(shù)據(jù) 。紅色框左邊為“文件偏移地址區(qū)域” , 右邊為“ASCII碼區(qū)域” , 在后面我們會詳細介紹 。
這里有一個小問題 , 計算機只認識0和1 , 為什么這里面的數(shù)字不是0和1呢?上面的數(shù)字是十六進制 , 它其實是二進制的簡寫形式 。
我們用二進制寫0--1111 , 分別是
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
四位二進制數(shù)最多能表示上面的16個數(shù) , 如果有1000、10000個數(shù) , 書寫起來很不方便 , 也不便于識別 。于是我們將上面的二進制數(shù) , 前面不足四位的添“0” , 轉(zhuǎn)化為十六進制數(shù) , 如下表所示:

每1位十六進制表示4位二進制 , 這樣大大簡化二進制的書寫 。圖1.3.1中所有的十六進制都能輕松地轉(zhuǎn)換為二進制 , 如“2E”轉(zhuǎn)換為二進制為“0010 1110”、“B8”轉(zhuǎn)換為二進制為“1011 1000” 。
在我們使用的時候依舊要把它看作為二進制數(shù) , 這就要求我們熟練掌握十六進制和二進制之間的轉(zhuǎn)換 。為什么我們?nèi)孕枰獙⑺闯墒嵌M制數(shù)呢?在CPU中 , 某一條電路的變化甚至會影響整個程序的執(zhí)行 , 而一條電路就是二進制中的1位 , 我們用調(diào)試工具DTDebug打開一個軟件 , 如圖1-3-2所示:

圖1-3-2
圖中EFL寄存器中存儲的數(shù)字為00000246(注意圖中箭頭位置) , 這是8位十六進制數(shù) , 轉(zhuǎn)換為二進制數(shù)為:0000 0000 0000 0000 0000 0010 0100 0110 , 一共32位 。程序執(zhí)行的過程中 , 它們是不斷變化的 , 有一些位的改變會影響程序的執(zhí)行 。在我們學習操作系統(tǒng)內(nèi)核的時候 , 需要知道不同位所代表的不同的含義 。
目前我們只需要熟練地在十六進制與二進制之間進行轉(zhuǎn)換 。理解計算機中的數(shù)據(jù)形式 。
推薦閱讀
- 田徑項目中的田和徑有什么區(qū)別
- 中的林城開發(fā)區(qū)原型是哪里 人民的名義林城是哪里
- 條碼在生活中的應用
- 調(diào)料中的香葉是花椒葉嗎
- 凍土中的猛犸象是化石嗎,猛犸象化石出現(xiàn)在哪個地質(zhì)年代
- 慶余年中的顏值擔當 慶余年五竹誰演
- 調(diào)料中的大料是什么啊
- 甜品屋中的芋圓怎么做的
- 鐵甲小寶中的蜻蜓隊長是誰
- 傳說中的陰曹地府真的存在 陰間真的存在嗎
