【Linux网络编程】大端模式和小端模式
00. 目录
文章目录
- 00. 目录
- 01. 概述
- 02. 示例分析
- 03. 优缺点
- 04. 数组存储
- 05. 测试机器模式
- 07. 附录
01. 概述
大端模式(Big-endian):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,即正序排列,高尾端;
小端模式(Little-endian):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,即逆序排列,低尾端;
例(无论是小端模式还是大端模式。每个字节内部都是按顺序排列):
- 大端模式:
低地址 -----------------> 高地址
0x0A | 0x0B | 0x0C | 0x0D
- 小端模式:
低地址 ------------------> 高地址
0x0D | 0x0C | 0x0B | 0x0A
02. 示例分析
16bit宽的数0x1234在两种模式CPU内存中的存放方式(假设从地址0x2000开始存放)为:
内存地址 | 小端模式存放内容 | 大端模式存放内容 |
---|---|---|
0x2000 | 0x34 | 0x12 |
0x2001 | 0x12 | 0x34 |
32bit宽的数0x12345678在两种模式CPU内存中的存放方式(假设从地址0x2000开始存放)为:
内存地址 | 小端模式存放内容 | 大端模式存放内容 |
---|---|---|
0x2000 | 0x78 | 0x12 |
0x2001 | 0x56 | 0x34 |
0x2002 | 0x34 | 0x56 |
0x2003 | 0x12 | 0x78 |
03. 优缺点
大端小端没有谁优谁劣,各自优势便是对方劣势:
小端模式 :
强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。
大端模式 :
符号位的判定固定为第一个字节,容易判断正负。
04. 数组存储
大端模式:
高位存储在高地址,低位存储在低地址。
小端模式:
低位存储在低地址,高位存储在高地址。
05. 测试机器模式
测试机器的大小端模式代码
#include <stdio.h>
#include <string.h>int main(void)
{short i = 0x1234;char *p = (char *)&i;if (0x12 == *p){printf("大端模式\n"); }else{printf("小端模式\n"); }return 0;
}
一般操作系统都是小端,而通讯协议是大端的。
07. 附录
【Linux网络编程】大端模式和小端模式相关推荐
- 【网络编程】大端模式和小端模式
这本来是很easy的东东,不过今天看到一段判断主机是大端模式还是小端模式的例子,和以前的常见的例子略有不同,更严密一些,故note一下: 大端:多字节值的大端存储在该值的起始位置:(老大站排头为大) ...
- 大端模式和小端模式初探
大端模式和小端模式初探 大端模式和小端模式初探 字节序模式由来 什么是大端和小端 大端模式(Big-Endian) 小端模式(Little-Endian) 示例 优缺点 为什么会有大小端之分呢 如何判 ...
- 大端模式与小端模式的详解分析
大端序与小端序 何为大端序,小端序? 简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了.注意字节序是硬件层面 ...
- 嵌入式基础01【转载】详解大端模式和小端模式
---------------- 版权声明:本文为CSDN博主「ce123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...
- 详解大端模式和小端模式【转】
详解大端模式和小端模式 一.大端模式和小端模式的起源 本文转载自:http://blog.csdn.net/ce123/article/details/6971544 关于大端小端名词的由来,有一个有 ...
- 【转】大端模式与小端模式、网络字节顺序与主机字节顺序 (经典)
大端模式与小端模式 一.概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式. 先回顾两个关键词,MSB和LSB: ...
- 计算机大端模式和小端模式 内存对齐问题(sizeof)
目录(?)[+] 一大端模式和小端模式的起源 二什么是大端和小端 三数组在大端小端情况下的存储 四为什么会有大小端模式之分呢 五如何判断机器的字节序 内存对齐问题 再讲讲pragma pack 内存对 ...
- 大端模式、小端模式、网络字节顺序与主机字节顺序
大端模式.小端模式.网络字节顺序与主机字节顺序 大端模式与小端模式 概念与详解 在各种体系的计算机中通常采用的字节存储机制主要有两种:big-endian和little-endian,即大端模式和小端 ...
- matlab小端模式合并,大端方式和小端模式【YC】
大端模式和小端模式[YC] 小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址. 大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址. 下 ...
- 字节顺序:大端模式 和 小端模式
字节顺序有"大端模式" 和 "小端模式" 两种. 一.字节顺序只是对内置数据类型而言. 例如对于一整型(int,int 是内置数据类型)数,比如 0x12345 ...
最新文章
- 英特尔收购Movidius背后:为什么我们需要一款专门的CV处理芯片?
- 解决apache服务器默认编码为西欧编码的问题
- WPF QuickStart系列之样式和模板(Style and Template)
- 何时使用[self release]
- C#实现动态编译代码
- android 如何判断h5页面是否加载完成_H5 键盘兼容性小结
- ai人工智能python开发_Python才是人工智能AI的首选编程语言,你值得拥有……
- 关于操作系统中英文切换的.po和.mo介绍
- Hibernate HQL基础
- 读论文:AlexNet
- 关于switchhosts的一些问题
- vc2005运行库彻底卸载_Visual C ++ AIO(vc运行库安装卸载工具)2019.05.21 最新版 下载 - 51下载网...
- linux下开源电子设计软件
- 2010 年下半年系统分析师案例分析真题
- python中等高线填充颜色_Matplotlib:使用透明颜色填充等高线图
- Ansible Inventory内置参数
- Payment:支付宝即时到账接口接入教程
- 计算半圆弧长及半圆的面积。(3分)
- We‘re sorry but XXX doesn‘t work properly without JavaScript enabled.
- 2022,新的一年,加油
热门文章
- DATASHUO |《关于组织实施促进大数据发展重大工程的通知》
- java计算机毕业设计小区停车场信息系统源码+系统+数据库+lw文档+mybatis+运行部署
- 2021全网最详细APP测试点(附带思维导图)
- 笔记_Maya绑定基础_骨骼的 关节显示与设置
- 学习Timer类,定制自己的调度器一
- 32、基于51单片机红外智能垃圾桶系统设计
- java ee是什么_java ee与java的区别是什么
- nmi_watchdog功能测试及解析
- java实现fromcharcode_fromCharCode和charCodeAt 方法
- java学生管理系统(增删改查存)