欧美激情中文字幕在线_国产区精品视频_免费久久99精品国产自_日韩精品 欧美

數據寬度和字節序

數據的寬度

數據的寬度是指數據在存儲器中存儲的尺寸。在計算機中,所有數據的基本存儲單位都是字節(byte),每個字節占8個位(位是計算機存儲的最小單位,而不是基本單位,因為在存儲數據時幾乎沒有按位進行存儲的)。其他的存儲單位還有字(word)、雙字(dword)和八字節(qword)。

在計算機編程中,常用的幾個重要數據存儲單位分別就是byte、word和dword,這幾個存儲單位。

單位 所占位數 所占字節數
字節(byte) 8位 1字節
字(word) 16位 2字節
雙字(dword) 32位 4字節
八字節(qword) 64位 8字節

數值的表示范圍

在計算機中存儲數值時,也是要依據前面的數據寬度進行存儲的,那么在存儲數據時由于存儲數據的寬度限制,數值的表示也是有范圍限制的。那么byte、word 和dword能存儲多少數據呢?我們先來計算一下,如果按位存儲的話,能存儲多少個數據,再分別來計算以上三種單位能夠存儲的數值的范圍。

計算機使用二進制進行數據存儲時,一位二進制最多能表示幾個數呢?因為是二進制數,只存在0和1兩個數,所以一位二進制數最多能表示兩個數,分別是0和1。那么,兩位二進制最多能表示幾個數呢?因為一位二進制數能表示兩個數,所以兩位二進制數則能表示2的2次方個數,即4個數,分別是0、1、10、11。進一步地,三位二進制數能表示的就是2的3次方個數,即8個數,分別是0、1、10、11、100、101、110、111。

存儲單位 十進制范圍 十六進制范圍 2的N次方
字節(byte) 0-255 0-FF 2的8次方
字(word) 0-65535 0-FFFF 2的16次方
雙字(dword) 0-4294967295 0-FFFFFFFF 2的32次方

2的8次方是256,為什么數值只有0~255個呢?因為計算機計數是從0開始,從0到255同樣是256個數,這里的2的8次方表示能夠表示數值的個數,而不是能夠表示數值的最大的數。
這里只給出了無符號整數的表示范圍,那么什么是無符號呢?數值分為有符號數和無符號數,有符號數是分整數和負數的,而無符號數值有整數沒有負數。負數在計算機中的表示有符號數時借助了最高位來進行,如果最高位是0,那么就是整數,如果最高位是1則是負數。關于有符號數和無符號數不必過多地糾結,因為計算機表示數據是不區分有符號還是無符號的,有符號還是無符號是人在進行區分。

有符號數和無符號數

數學中的數據分為正數和負數,在計算機中我們分為無符號數和有符號數,無符號數表示全是正數,有符號數表示有正數和負數。這里好比將容器貼個標簽,將它貼上“無符號數”的標簽,那么它里面都是正數。如果它的標簽是“有符號數”,那么它里面的數據可能是正數也是負數。它里面的電路數量是一定的,它能表示的開關組合也是一定的,那么它到底是按無符號數看還是有符號數看,關鍵在于它標簽是什么。

如下圖,數據寬度為4的容器能存儲的數據轉換為十六進制為“0~F”,使用一個圓球表示

無符號數表示范圍:0?1?2?3?4?5?6?7?8?9?A?B?C?D?E?F,箭頭方向表示增加方向?有符號數:
正數表示范圍:0?1?2?3?4?5?6?7

負數表示范圍:-1?-2?-3?-4?-5?-6?-7?-8(從半圓F起到8,所以F表示-1,8表示-8)

無符號數不難理解,而有符號數則是從中間一分為二,左邊為負數,右邊為正數。同一個圓把它看成無符號數它是一個正數,如果把它看成是有符號數則是有正有負。比如F,它如果是無符號數,就是15,如果是有符號數它就是-1。

字節序

字節序也稱為字節順序,在計算機中對數值的存儲有一定的標準,而該標準隨著系統架構的不同而不同。了解字節存儲順序對于逆向工程是一項基礎知識,在動態分析程序的時候,往往需要觀察內存數據的變化情況,這就需要我們在掌握數據的存儲寬度、范圍之后,進一步了解字節順序。

通常情況下,數值在內存中存儲的方式有兩種,一種是大尾方式,另一種是小尾方式。關于字節序的知識,通過一個簡單的例子就可以掌握。

比如有0x01020304(C語言中對十六進制數的表示方式)這樣一個數值,如果用大尾方式存儲,其存儲方式為01020304,而用小尾方式進行存儲則是04030201,用更直觀的方式展示其區別,如表所列。

大尾方式 小尾方式
數據 地址值 數據 地址值
01 00000000H 04 00000000H
02 00000001H 03 00000001H
03 00000002H 02 00000002H
04 00000003H 01 00000003H

從兩個地址列可以看出,地址的值都是一定的,沒有變化,而數據的存儲順序卻是不相同的。從表中可以得到如下結論。

大尾存儲方式:內存高位地址存放數據低位字節數據,內存低位地址存放數據高位字節數據;

小尾存儲方式:內存高位地址存放數據高位字節數據,內存低位地進存放數據低位字節數據。

通常情況下,Windows操作系統兼容的CPU為小尾存儲方式,而Unix操作系統兼容的CPU多為大尾存儲方式。在網絡中傳輸的數據的字節順序使用的是大尾存儲方式。

上一篇 進制及進制的轉換
下一篇 ACSII碼
目錄
applek

applek管理員

個人說明在個人中心里面設置

本月創作熱力圖

最新評論
小超
小超
7月9日
下個版本考慮將下載地址加密(防止采集)
Lvtu
Lvtu
7月4日
qiang厲害
評論于留言建議
chinacnd
chinacnd
6月26日
這個主題是怎么做到加載速度那么快的?
風起云涌
風起云涌
6月17日
前臺投稿現在有點太抽象了 希望可以弄成那種分區填寫的 標題,內容,圖片,目錄,標簽,這樣的
評論于留言建議
主站蜘蛛池模板: 日韩精品一区在线视频| 午夜精品久久久内射近拍高清| 国产系列第一页| 日韩中文字幕网| 国产精品777| 国产欧洲精品视频| 国产免费一区二区三区四在线播放| 欧美激情一级欧美精品| 欧美乱人伦中文字幕在线| 欧美日韩福利视频| 久久精品网站视频| 国产精品久在线观看| 亚洲免费视频一区| 亚洲国产精品www| 人妻av无码专区| 久久国产日韩欧美| 99视频在线播放| 日本欧美精品久久久| 精品国产一区二区在线| 国产噜噜噜噜噜久久久久久久久 | 国产精品国产亚洲伊人久久| 国产精品欧美日韩久久| 亚洲综合五月天| 欧洲午夜精品久久久| 精品人妻少妇一区二区| 国产日韩精品电影| 亚洲在线欧美| 国产精品亚洲片夜色在线| 日本一区二区三不卡| 久久久一本二本三本| 精品国产中文字幕| 国内精品久久国产| 国产亚洲欧美一区二区三区| 久久精品国产电影| 国产美女网站在线观看| 国产欧美综合一区| 国产va免费精品高清在线观看| 国产精品69久久久| www.日日操| 日韩中文字幕久久| 欧美日韩999|