大小端和位域

每次遇到大小端都要梳理一遍,做個記錄方便以後查閱。

對於大小端,位域的存儲都是從低地址開始,下例中從a到c依次爲bit0---->bit15。


#include <stdio.h>  
#include <stdlib.h>
#include <string.h>

struct kk
{
	unsigned short a : 3;
	unsigned short b : 8;
	unsigned short c : 5;
} kk_t;


int main(void)
{
	unsigned short data = 0x3456;

	memcpy(&kk_t, &data, sizeof(data));
	printf("a = %x, b = %x, c = %x\n", kk_t.a, kk_t.b, kk_t.c);

	return 0;
}

小端處理器的運行結果:

a = 6, b = 8a, c = 6
請按任意鍵繼續. . .


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章