字节序有两种表示方法:大端法(big ending),小端法(little ending)。

网络字节序采用的是大端法。

主机字节序不同的CPU采用的方法不一样,可以通过代码来查看自己主机的字节序。

大端法:高位字节排放在内存低地址端,低位字节排放在内存的高地址端。

小端法:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

看一个unsigned short 数据,它占2个字节,给它赋值0x1234。

若采用的大端法,则其低地址端应该存放的是0x12;

若采用的小端法,则其低地址端应该存放的是0x34;

可以通过联合体来获得其高低地址的数据。

测试主机字节序的代码:

#include <stdio.h>typedef union{unsigned short value;unsigned char bytes[2];
}Test;int main(void)
{Test test_value;test_value.value = 0x1234;if(test_value.bytes[0] == 0x12 && test_value.bytes[1] == 0x34)printf("big ending");else if(test_value.bytes[0] == 0x34 && test_value.bytes[1] == 0x12)printf("little ending");elseprintf("use test_value error");return 0;
}

代码实现判断主机字节序(大端 or小端 )-- 面试题相关推荐

  1. 题目:如何判断一个机器是大端还是小端

    如何判断一个机器是大端还是小端 关于大端小端的概念, 小端:数据的高位字节存放在高地址内,数据的低位字节存放在低地址内. 大端:数据的高位字节存放在低地址内,数据的低位字节存放在高地址内. 典型的体系 ...

  2. C语言判断计算机存储是大端还是小端

    计算机的一个int型数据是用多个字节表示的,如果在内存中存放时标称该数据的地址中存放的是数据的最低字节,就叫小端机,反之把高字节存放在标称地址中的则称为大端机.所以可以定义一个int变量,将其地址强制 ...

  3. 判断单片机MCU是大端还是小端模式

    最近用杰理AC6966B调试博通的BK9527 U段发射芯片,一直没调通,经过测试IIC通讯是通,硬件还是好的,但是怎么都调不到与接收端成功连接. 最后咨询原厂得知提供的demo代码是大端编码模式的M ...

  4. 字节序 主机字节序与网络字节序互相转换

    目录 1.什么是字节序? 2.字节序分类 3.为什么要有大端字节序和小端字节序? 4.主机字节序和网络字节序 5.主机字节序与网络字节序的转换 6.怎么判断自己的主机是小端字节序还是大端字节序呢? 7 ...

  5. 计算机网络——网络字节序(大端字节序(Big Endian)\小端字节序(Little Endian))

    网络字节序 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 2.字节序转换函数 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 1.大端 ...

  6. 数据存储:大端和小端

    目录 字节序 大端和小端 大端小端测试 写入测试 字节码文件的大小端 前面说到,像C/C++这类语言编写的程序,它们被编译后,直接转换成了对应平台上的可被CPU直接运行的机器指令,转换之后,原本语言中 ...

  7. linux网络编程一:主机字节序与网络字节序的的判断

     linux网络编程一:主机字节序与网络字节序的的判断(1)现代CPU的累加器一次能装载至少4字节(32位),即一个整数.那么这4字节在内存中排列的顺序将影响它被累加器装载成的整数值,这就是字节序问题 ...

  8. 大端字节序与小端字节序 (网络字节序与主机字节序)

    大端字节序与小端字节序 1. 简介 2. 判断机器字节序(C/C++) 3. 主机字节序与网络字节序的转换 4. IP地址与网络字节序的转换 1. 简介 字节序分为大端字节序(big endian)和 ...

  9. java 大小端字节序_理解大小端字节序

    学过编程的人都应该知道大小端字节序的概念,但是很多时候,总是把他们弄混,这是整理出来的一份很简单的方式理解字节序的文章,废话不多说,这里直接入正题. 什么是字节序? 字节序,简单来说,就是指的超过一个 ...

最新文章

  1. flash,tornada demo
  2. python好不好用_python应用情况怎么样?是否真的值得学习?
  3. LeetCode实战:买卖股票的最佳时机 II
  4. 第 25 章 OpenManage
  5. 介绍Pro*c编程的经验
  6. HDU-2159 FATE 二维背包
  7. thrift中TNonblockingServer的简单用法
  8. Postgresql ALTER语句常用操作小结
  9. html5 上海,【上海校区】HTML5新特性
  10. 23种设计模式(二十四)领域规则之解析器
  11. 计算机安装pdf打印机驱动,win7电脑安装pdf虚拟打印机,教您安装方法
  12. Post 请求调试工具简介
  13. Java常用软件官网下载地址【汇总】
  14. android键盘表情流畅切换实现
  15. [Java]Axis需要高版本的J2sdk:j2sdk-1_4_2_08
  16. 苹果手机登录华为账号无法连接服务器,华为手机登录华为帐号时,显示“没法连接到服务器”是什么情况?...
  17. win7保护眼睛的颜色设置方法
  18. Harbor中镜像清理
  19. python xlrd使用_在Python中使用xlrd以文本形式读取数值Excel数据
  20. iphone及ipad屏幕尺寸参考

热门文章

  1. 第3章第13节:如何快速生成一份漂亮的相册 [PowerPoint精美幻灯片实战教程]
  2. 使用signature在移动端做电子签名canvas画板随触摸滚屏的bug
  3. 一场Pandas与SQL的巅峰大战
  4. TOM 邮箱与网易vip邮箱作用的不同
  5. 【iOS-UIImagePickerController访问相机和相册】
  6. android的边框设置
  7. 红米NOTE8PRO拍照技巧
  8. 快速学习Java8新特性第七讲——Optional类
  9. 泛泰手机SK版本系统注意事项(未完待续)
  10. python爬取当当图片和信息