当前位置:网站首页>快速了解大端模式和小端模式
快速了解大端模式和小端模式
2022-08-10 13:58:00 【Alexerd】
让我们快速了解大端模式和小段模式
前言小故事
关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格列佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚。然后老百姓对此法令极为反感,期间发生了多次叛乱,其中一个皇帝因此送命,另一个丢了王位,产生叛乱的原因就是另一个国家Blefuscu的国王大臣煽动起来的,叛乱平息后,就逃到这个帝国避难。据估计,先后几次有11000余人情愿死也不肯去打破鸡蛋较小的端吃鸡蛋。这个其实讽刺当时英国和法国之间持续的冲突。Danny Cohen一位网络协议的开创者,第一次使用这两个术语指代字节顺序,后来就被大家广泛接受。
大端和小端的区别
以0x11 22 33 44为例子
① 大端模式:是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
例:
低 ---------------------------- 高
12 34 56 78
② 小端模式:就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
例:
低-------------------------------高
78 56 34 12
大端存储更加偏向于我们普通人对于数据存储的理解,由低到高。
后面,我们通过一个面试题来知道如何判断,当前软件是大端还是小端
百度面试题
设计小程序来判断当前机器的字节序。
int check()
{
int n = 0;
return (*(char*)&n);//因为我们只需要判定前面的第一个数是1还是0,所以强制转换为char* 类型
}
#include<stdio.h>
int main()
{
int ret = check();
if(ret == 1)//使用1的二进制判断
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
边栏推荐
- data product manager
- 一汽奥迪:持续34年聚焦品质与体验 立足市场需求推进产品迭代
- X5WebView使用
- Error: Rule can only have one resource source (provided resource and test + include + exclude)
- Short read or OOM loading DB. Unrecoverable error, aborting now
- Short read or OOM loading DB. Unrecoverable error, aborting now
- 文件系统设计
- SQL学习(基础)
- Do not access Object.prototype method ‘hasOwnProperty‘ from target object....
- 高数_证明_弧微分公式
猜你喜欢
win2012安装Oraclerac失败
图式图例规范尺寸
统信 UOS V20 专业版(1050update2)发布:文件共享、全局搜索等优化
池化技术有多牛?来,告诉你阿里的Druid为啥如此牛逼!
Open source SPL wipes out tens of thousands of database intermediate tables
Send a post request at the front desk can't get the data
Error: Rule can only have one resource source (provided resource and test + include + exclude)
使用决策树对鸢尾花进行分类
“Oracle 封禁了我的账户”
[JS Advanced] Creating sub-objects and replacing this_10 in ES5 standard specification
随机推荐
【Gazebo入门教程】第三讲 SDF文件的静/动态编程建模
镜像瘦身:每一层都不能放过
ABAP file operations involved in the Chinese character set of problems and solutions for trying to read
作业8.9 构建TCP协议的服务器
Matlab画分段函数「建议收藏」
作业
Pointer (preliminary solution of C language)
OpenStack-related commands that need to be recorded _ self-use
Network Saboteur
Lack of comparators, op amps come to the rescue!(Op amp is recorded as a comparator circuit)
【目标检测】小脚本:提取训练集图片与标签并更新索引
Borg Maze (bfs+最小生成树)
Lithium battery technology
雨水中存在的PFAS化学物质对饮用水安全构成了威胁
How does vue clear the tab switching cache problem?
Open source SPL wipes out tens of thousands of database intermediate tables
2022-08-09:以下go语言代码输出什么?A:否,会 panic;B:是,能正确运行;C:不清楚,看投票结果。 package main import ( “fmt“ “syn
领域驱动实践总结(基本理论总结与分析V+架构分析与代码设计+具体应用设计分析)
数据产品经理那点事儿 一
写不完的数学试卷-----试卷生成器(Qt含源码)