大小端表示法

这篇博客写的不错:

详解大端模式和小端模式


最近笔试上也碰到了这方面的问题。需要注意两点:

(1)一般操作系统都是小端,而通讯协议是大端的。

(2)写一段程序判断大小端:

bool isBig_Endian()
{
	short test = 0x1234;
	if(  *((char *)&test) == 0x12)
		return true;
	else
		return false;
} 

首先是取test变量的地址,然后用(char *)将这个地址转换成char*类型的地址,即相当于取short变量的地址的一个字节。最后用*解引用取出这个字节的内容进行判断,如果是0x12则证明示大端表示法,反之则为小端表示法。我跑了下这个程序,最后得到的结果是小端。

你可能感兴趣的:(C/C++,Network,知识小百科)