代码实现判断主机字节序(大端 or小端 )-- 面试题
字节序有两种表示方法:大端法(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小端 )-- 面试题相关推荐
- 题目:如何判断一个机器是大端还是小端
如何判断一个机器是大端还是小端 关于大端小端的概念, 小端:数据的高位字节存放在高地址内,数据的低位字节存放在低地址内. 大端:数据的高位字节存放在低地址内,数据的低位字节存放在高地址内. 典型的体系 ...
- C语言判断计算机存储是大端还是小端
计算机的一个int型数据是用多个字节表示的,如果在内存中存放时标称该数据的地址中存放的是数据的最低字节,就叫小端机,反之把高字节存放在标称地址中的则称为大端机.所以可以定义一个int变量,将其地址强制 ...
- 判断单片机MCU是大端还是小端模式
最近用杰理AC6966B调试博通的BK9527 U段发射芯片,一直没调通,经过测试IIC通讯是通,硬件还是好的,但是怎么都调不到与接收端成功连接. 最后咨询原厂得知提供的demo代码是大端编码模式的M ...
- 字节序 主机字节序与网络字节序互相转换
目录 1.什么是字节序? 2.字节序分类 3.为什么要有大端字节序和小端字节序? 4.主机字节序和网络字节序 5.主机字节序与网络字节序的转换 6.怎么判断自己的主机是小端字节序还是大端字节序呢? 7 ...
- 计算机网络——网络字节序(大端字节序(Big Endian)\小端字节序(Little Endian))
网络字节序 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 2.字节序转换函数 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 1.大端 ...
- 数据存储:大端和小端
目录 字节序 大端和小端 大端小端测试 写入测试 字节码文件的大小端 前面说到,像C/C++这类语言编写的程序,它们被编译后,直接转换成了对应平台上的可被CPU直接运行的机器指令,转换之后,原本语言中 ...
- linux网络编程一:主机字节序与网络字节序的的判断
linux网络编程一:主机字节序与网络字节序的的判断(1)现代CPU的累加器一次能装载至少4字节(32位),即一个整数.那么这4字节在内存中排列的顺序将影响它被累加器装载成的整数值,这就是字节序问题 ...
- 大端字节序与小端字节序 (网络字节序与主机字节序)
大端字节序与小端字节序 1. 简介 2. 判断机器字节序(C/C++) 3. 主机字节序与网络字节序的转换 4. IP地址与网络字节序的转换 1. 简介 字节序分为大端字节序(big endian)和 ...
- java 大小端字节序_理解大小端字节序
学过编程的人都应该知道大小端字节序的概念,但是很多时候,总是把他们弄混,这是整理出来的一份很简单的方式理解字节序的文章,废话不多说,这里直接入正题. 什么是字节序? 字节序,简单来说,就是指的超过一个 ...
最新文章
- flash,tornada demo
- python好不好用_python应用情况怎么样?是否真的值得学习?
- LeetCode实战:买卖股票的最佳时机 II
- 第 25 章 OpenManage
- 介绍Pro*c编程的经验
- HDU-2159 FATE 二维背包
- thrift中TNonblockingServer的简单用法
- Postgresql ALTER语句常用操作小结
- html5 上海,【上海校区】HTML5新特性
- 23种设计模式(二十四)领域规则之解析器
- 计算机安装pdf打印机驱动,win7电脑安装pdf虚拟打印机,教您安装方法
- Post 请求调试工具简介
- Java常用软件官网下载地址【汇总】
- android键盘表情流畅切换实现
- [Java]Axis需要高版本的J2sdk:j2sdk-1_4_2_08
- 苹果手机登录华为账号无法连接服务器,华为手机登录华为帐号时,显示“没法连接到服务器”是什么情况?...
- win7保护眼睛的颜色设置方法
- Harbor中镜像清理
- python xlrd使用_在Python中使用xlrd以文本形式读取数值Excel数据
- iphone及ipad屏幕尺寸参考