嵌入式linux 大小位元組序和位操作

2021-09-13 13:17:06 字數 609 閱讀 2578

位元組序:arm晶元儲存資料的方式,多數預設使用小字節序。低位存放在低位址是小字節序,高位存放在低位址是大字節序。2440預設使用小字節序,但是可以通過設定某個暫存器去設定系統使用大或小字節序。使用c語言程式判斷大小位元組序程式如下:

void judge()

stru.a = 1;

if(stru.b == 1)

else

}

位操作:與、或、取反、位與、位或,引申出置位和清位。

置位:將某位置為1,比如把0x123中的bit7 bit8置位

int result = 0x123 | (1<<7) | (1<<8)

清位:將某位置為0,比如把0x123中的bit7 bit8清位

int result = (0x123 & ~(1<<7)) & ~(1<<8)

原碼和補碼,乙個位元組8位有符號整形取值範圍是-128到127

最高位為0表示正數,顯然最大為011111111也就是127。

最高位為1表示負數,最小為10000000,負數用補碼表示,補碼轉為原碼是取反再加1,最高位符號位不變也就是1 111 1111再+1,除了符號位數值為127加上1等於128,再加上負號就是-128

32位嵌入式系統和嵌入式Linux

32位嵌入式系統和嵌入式linux 嵌入式linux是一種開發原始碼 軟實時 多工的嵌入式作業系統,是標準linux的嵌入式系統移植版。眾所周知,linux能在pc中可靠地執行,正是因為當前的pc硬體已經全部採用了32位乃至64位系統,才會給象windows linux unix這些32位作業系統提...

嵌入式基礎知識硬體篇之位元組序

16 大小端的介紹 little endian就是低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。big endian就是高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端。數字0x12 34 56 78在記憶體中的表示形式為 大端模式 低位址 高位址 0x12 ...

大小端對位元組序和位序的影響

1 位元組序 byte order 大端儲存格式 即多位元組資料的高位元組儲存在低位址中,而低位元組資料存放在高位址中。小端儲存格式 即多位元組資料的高位元組儲存在高位址中,而低位元組資料存放在低位址中。例子 short型別的資料 0x0201 大端儲存格式 存放內容 0x02 0x01 記憶體位址...