快捷搜索:  汽车  科技

怎么判断是大端模式还是小端模式(如何判断计算机是大端模式还是小端模式)

怎么判断是大端模式还是小端模式(如何判断计算机是大端模式还是小端模式)计算机为什么会有大小端之分呢?首先就是由于不同架构的CPU处理多个字节数据的顺序不一样,后来互联网流行,TCP/IP协议规定为大端模式。其次就是大端模式和小端模式各有优点,小端模式强制转换类型时不需要调整字节内容,直接截取低字节即可;大端模式由于符号位为第一个字节,方便判断正负。

介绍

大端模式(Big-endian):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,即正序排列,高尾端;

小端模式(Little-endian):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,即逆序排列,低尾端;

怎么判断是大端模式还是小端模式(如何判断计算机是大端模式还是小端模式)(1)

大端模式和小端模式

图中我们可以看出无论是小端模式还是大端模式,每个字节内部都是按顺序排列的。

出现原因

计算机为什么会有大小端之分呢?

首先就是由于不同架构的CPU处理多个字节数据的顺序不一样,后来互联网流行,TCP/IP协议规定为大端模式。

其次就是大端模式和小端模式各有优点,小端模式强制转换类型时不需要调整字节内容,直接截取低字节即可;大端模式由于符号位为第一个字节,方便判断正负。

代码

#include <stdio.h> #include <string.h> int main(void) { short i= 0x1234; char *p=(char*)&i; if(0x12 == *p) { printf(“大端模式"); } else { printf(“小端模式"); } return e; }

猜您喜欢: