日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机操作系统寻址,计算机操作系统-寻址和字节顺序

發布時間:2023/12/15 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机操作系统寻址,计算机操作系统-寻址和字节顺序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本上在所有的機器上,多字節對象都被存儲為連續的字節序列,對象的地址為所使用字節中最小的地址。假設一個int 變量x的地址為0x100,那么(假設int 為32位表示)x的4個字節被存儲在內存 0x100、0x101、0x102、0x103 的位置。在某些機器中選擇在內存中按照從低有效字節到高有效字節的順序存儲對象,而另一些機器按照從最高有效字節從最低有效字節存儲。最低有效字節在前的方式稱為小端法,最高有效字節在前稱為大端法。

假設變量x的類型為 int ,位于0x100 處,它的十六進制為 0x01234567 地址范圍 0x100~0x103 的字節順序按照大小端法 為如下表示:

注意: 在 字 0x01234567 中,高位字節16進制為 0x01 ,低位字節16進制為0x67。

大多數的intel兼容機都只用小端模式,一般的在linux 和windows 都是小端法。

檢驗字節序可使用如下 c語言代碼,linux 下可以執行:

gcc -o show_bytes show_bytes.c

./show_bytes

打印字節序代碼如下:

#include

typedef unsigned char *byte_pointer;

void show_bytes(byte_pointer start,size_t len){

size_t i;

for (int i = 0; i

printf("%.2x",start[i]);

}

printf("\n");

}

void show_int(int x){

show_bytes((byte_pointer) &x,sizeof(int));

}

void show_float(float x){

show_bytes((byte_pointer) &x,sizeof(float));

}

void show_pointer(void *x){

show_bytes((byte_pointer) &x,sizeof(void *));

}

void test_show_bytes(int val){

int ival=val;

float fval=(float) val;

int *pval=&ival;

show_int(ival);

show_float(fval);

show_pointer(pval);

}

int main(){

test_show_bytes(12345);

return 0;

}

華裳繞指柔, 版權所有丨如未注明 , 均為原創|轉載請注明計算機操作系統-尋址和字節順序!

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的计算机操作系统寻址,计算机操作系统-寻址和字节顺序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。