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

數(shù)據(jù)寬度和字節(jié)序

數(shù)據(jù)的寬度

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

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

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

數(shù)值的表示范圍

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

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

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

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

有符號數(shù)和無符號數(shù)

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

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

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

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

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

字節(jié)序

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

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

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

大尾方式 小尾方式
數(shù)據(jù) 地址值 數(shù)據(jù) 地址值
01 00000000H 04 00000000H
02 00000001H 03 00000001H
03 00000002H 02 00000002H
04 00000003H 01 00000003H

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

大尾存儲方式:內(nèi)存高位地址存放數(shù)據(jù)低位字節(jié)數(shù)據(jù),內(nèi)存低位地址存放數(shù)據(jù)高位字節(jié)數(shù)據(jù);

小尾存儲方式:內(nèi)存高位地址存放數(shù)據(jù)高位字節(jié)數(shù)據(jù),內(nèi)存低位地進存放數(shù)據(jù)低位字節(jié)數(shù)據(jù)。

通常情況下,Windows操作系統(tǒng)兼容的CPU為小尾存儲方式,而Unix操作系統(tǒng)兼容的CPU多為大尾存儲方式。在網(wǎng)絡中傳輸?shù)臄?shù)據(jù)的字節(jié)順序使用的是大尾存儲方式。

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

applek管理員

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

本月創(chuàng)作熱力圖

最新評論
小超
小超
7月9日
下個版本考慮將下載地址加密(防止采集)
Lvtu
Lvtu
7月4日
qiang厲害
評論于留言建議
chinacnd
chinacnd
6月26日
這個主題是怎么做到加載速度那么快的?
風起云涌
風起云涌
6月17日
前臺投稿現(xiàn)在有點太抽象了 希望可以弄成那種分區(qū)填寫的 標題,內(nèi)容,圖片,目錄,標簽,這樣的
評論于留言建議
主站蜘蛛池模板: 日韩av免费网站| 日韩中文字幕久久| 99国产在线视频| 成人国产精品日本在线| 日本一区二区高清视频| 国产精品久久久久久久久婷婷 | 婷婷五月综合缴情在线视频| 国产精品一区在线观看| 久久久国产精品一区| 五月婷婷综合色| 亚洲制服欧美久久| 亚洲va国产va天堂va久久| 国产精品久久久久久久乖乖| 久久在线中文字幕| 欧美二区三区在线| 欧美日韩精品综合| 欧美乱人伦中文字幕在线| 日本一区免费| 日本视频一区二区在线观看| 日韩福利在线| 日本午夜精品一区二区三区| 日韩亚洲精品电影| 日本一区二区三区在线视频| 日韩wumaV| 欧美日韩另类丝袜其他| 欧美亚洲国产另类| 欧美精品一区在线| 欧洲午夜精品久久久| 日本亚洲欧洲精品| 欧美国产日韩在线播放| 久久人妻精品白浆国产| 久久精品ww人人做人人爽| 久久99精品久久久水蜜桃| 精品无码一区二区三区爱欲| 国产亚洲精品久久久久久久| 国产美女三级视频| 国产成人精品视| 亚洲97在线观看V| 欧美日韩国产第一页| 久久精品久久久久| 国产精品美女在线|