C语言--大小端问题以及判断

我们都知道一个字节等于8个比特,而一个比特只能存放一个0或者一个1,因此一个字节最大能存储的数字为 11111111,即 255。

那么当我们要存储65530这种需要多个字节保存的内容时,就会出现二种情况:

这里写图片描述

  • 大端存储:即高地址存低字节
  • 小端存储:即高地址存高字节

测试

int main(void)
{
    int i = 1;
    char* p = (char*)&i;
    if (*p == 1)
        printf("小端存储!\n");
    else
        printf("大端存储!\n");

    system("pause");
    return 0;
}

分析:
若是在小端机器上,0*01就应该存储在低地址上,char*取出来的就是1;否则char* 取出来的就是0。

猜你喜欢

转载自blog.csdn.net/it_is_me_a/article/details/82157031