国产精在线-国产精欧美一区二区三区-国产精视频-国产精品 日韩-一级黄色片在线看-一级黄色片在线播放

數(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ù)。關(guān)于有符號數(shù)和無符號數(shù)不必過多地糾結(jié),因為計算機表示數(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ù)量是一定的,它能表示的開關(guān)組合也是一定的,那么它到底是按無符號數(shù)看還是有符號數(shù)看,關(guān)鍵在于它標簽是什么。

如下圖,數(shù)據(jù)寬度為4的容器能存儲的數(shù)據(jù)轉(zhuǎn)換為十六進制為“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)架構(gòu)的不同而不同。了解字節(jié)存儲順序?qū)τ谀嫦蚬こ淌且豁椈A(chǔ)知識,在動態(tài)分析程序的時候,往往需要觀察內(nèi)存數(shù)據(jù)的變化情況,這就需要我們在掌握數(shù)據(jù)的存儲寬度、范圍之后,進一步了解字節(jié)順序。

通常情況下,數(shù)值在內(nèi)存中存儲的方式有兩種,一種是大尾方式,另一種是小尾方式。關(guān)于字節(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ù)的存儲順序卻是不相同的。從表中可以得到如下結(jié)論。

大尾存儲方式:內(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é)順序使用的是大尾存儲方式。

THE END
主站蜘蛛池模板: 欧美性性性性性色大片免费的 | 成人免费看毛片 | 在线小毛片 | 美女被免费网站在线视频软件 | 欧美一级毛片aaaaa | 亚洲美女免费视频 | 成人欧美视频 | 成熟性xxxxx 成网站在线观看人免费 | 精品久久久久久久久久久 | 免费看男女做好爽好硬视频 | 女人张开腿让男人桶视频免费大全 | 特黄特黄aaaa级毛片免费看 | 久久悠| 欧美性视频一区二区三区 | 精品玖玖玖视频在线观看 | 一区二区三区精品视频 | 国产精品美女一区二区三区 | 亚洲精品一区二区中文 | 日本乱理伦片在线观看网址 | 国产三级做爰在线观看视频 | 96精品视频在线播放免费观看 | 国产成人综合怡春院精品 | 美女喷水网站 | 亚洲精品在线播放视频 | 欧美成人免费tv在线播放 | 一区二区三区影视 | 国产一区亚洲欧美成人 | 久久精品国产欧美成人 | 在线观看国产一区二三区 | 欧美视频在线观看免费精品欧美视频 | 久久精品久久精品国产大片 | 久久精品综合免费观看 | 日本污网站| 久久中文字幕亚洲精品最新 | 欧美日韩精品乱国产538 | 高清偷自拍第1页 | 国产三级久久 | 久久99精品久久久久久三级 | 亚洲高清在线观看看片 | 国内精品美女写真视频 | 久久国产精品免费观看 |