c语言:24、大小端序

  • 1、字节序(什么大端序小端序)
  • 2、C语言判断当前环境字节序
  • 3、C语言整型端序切换

1、字节序(什么大端序小端序)

大端序:更多用于网络传输(跟网络传输协议规定有关)
小端序:cpu的数据处理

2、C语言判断当前环境字节序

//判断当前字节序,返回0表示小端序,返回1表示大端序
int IsBigEndian(){union {char c[2];short s;} value = {.s=0x0100};return value.c[0] == 1;
}//判断当前字节序(指针版本)
int IsBigEndian2(){short s = 0x100;char *p = (char *)&s;return p[0] == 1;
}

运行结果

3、C语言整型端序切换

//字节序切换
int ToggleEndian(int original){union {char c[4];int i;} value = {.i=original};char temp = value.c[0];value.c[0] = value.c[3];value.c[3] = temp;temp = value.c[1];value.c[1] = value.c[2];value.c[2] = temp;return value.i;
}//字节序调换(指针版本)
int ToggleEndian2(int original){char *p = (char *)&original;char temp = p[0];p[0] = p[3];p[3] = temp;temp = p[1];p[1] = p[2];p[2] = temp;return original;
}int original = 0X12345678;
printf("%x, %X", ToggleEndian(original) );

运行结果

c语言:24、大小端序相关推荐

  1. C语言-MSB/LSB大小端序

    一.MSB和LSB 首先我们要理解什么是MSB和LSB.数据在计算机里面都是二进制存储的,二进制的最高位为MSB,最低位是LSB. MSB:Most Significant Bit(最高有效位),也就 ...

  2. Linux一句命令之判断大小端序

    笔者在开发Linux应用程序时,由于判断大小端序的问题,使用的方法是用C语言判断,方法是可以判断得到系统是什么端序,但是太麻烦了.笔者是比较懒的人,不想写那么多代码,想一句命令就解决端序判断的问题. ...

  3. 【C语言】大小端字节序判断 常见笔试题型

    [前言]大家好,我是Catzzz666,一个一心让大家变强的博主.废话不说,让我们进入今天的正题. 大小端的引入: 我们先来看这样一段代码: 在内存中我们创建了局部变量a,那么a在内存中又是如何存储的 ...

  4. C语言验证大小端的几个方法

    大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的. 什么是大端和小端呢? 大端: 高位字节排放在内存的低地址端,低位字节排放在内存的高 ...

  5. C语言程序设计 | 大小端

    目录 一.什么是大小端 什么是大小端: 为什么会有大小端: 二.如何确定大小端 两种不同的求大小端的方式 常见的求大小端错误的方式: 一.什么是大小端 假如定义一个 int 类型的变量 a,让 a = ...

  6. C语言实现大小端数据转换

    由于处理器不同以及数据存储方式的不同,造成了再不同平台下数据存在大小端存储的问题. 为了保持数据的一致性就要去数据在平台传输.转换过程中要保持相同的大小端数据格式. 常用的有16位.32位数据大小端数 ...

  7. C 语言编程 — 大小端区分

    目录 文章目录 目录 大端.小端 区分方式 1 区分方式 2 大端.小端 大端:高位字节放在内存的低地址端,低位字节放在内存的高地址端,CPU 对操作数的存放方式从高字节到低字节. 小端:低位字节放在 ...

  8. mysql 大小端_go语言中大小端模式的个人理解

    大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据 当作字符串的存储顺序处理.地址由小向大增加,而数据从高位往低位放:这和我们的阅读习 ...

  9. BUUCTF SimpleRev(涉及大小端序存储的问题)

    ** 逆向reverse小白一枚,欢迎各位师傅指出不足之处. buuctf-SimpleRev ** 考点:大端序,小端序,分析伪代码 做这道题的时候遇到了一个新的知识点,大端序和小端序. 用Exei ...

  10. C语言查看大小端(纯代码)

    法一:直接在主函数中实现 int check() {int a = 1;char* p = (char*)&a;if (*p == 1){return 1;//小端}else{return 0 ...

最新文章

  1. 有人竟然为了两千多的眼镜倒贴10亿???
  2. 0330 第九次课:软件包安装及卸载
  3. POJ 2152 Fire(树形DP)
  4. CreateBindGroupNode.txt
  5. TKStudio MDK 工具链解决办法
  6. 不好意思,这么久没有更新《从零开始掌握ASP.NET Core 》
  7. jboss7.1.1 部署_在JBoss AS 7上部署BroadleafCommerce 2.0
  8. Windows API GetProcAddress 及demo code
  9. mySQL 教程 第2章 安装和介绍mySQL
  10. linux stat命令详解
  11. 停止运行_锅炉停止运行应注意哪些事项?
  12. (05)FPGA内部资源
  13. 防抖、节流(细讲)【面试】
  14. Unity2018.3中文更新日志速览版
  15. 隔离见证_云见证–一种使我们的生活更轻松的新功能
  16. WebAPI基本封装
  17. 事务日志的物理和逻辑构架
  18. 基于SSD目标检测模型的人脸口罩识别
  19. 斯蒂文理工计算机排名,全美最强STEM大学排行榜发布!这些学校考虑一下?
  20. 计算机漏洞安全相关的概念POC | EXP | VUL | CVE | 0DAY

热门文章

  1. 客户服务管理(CSM)
  2. 微信oauth2的认证
  3. 无纸化测评系统计算机考试试题,2015年9月计算机二级《Access》无纸化试卷(1)
  4. 系统架构师从入门到精通1.0 Ceph集群部署无报错流畅版本
  5. 前嗅ForeSpider数据采集软件使用教程
  6. 赶紧用微信查询一下你的身份证,是否有人盗用你信息!
  7. linux常用命令与问题排查命令记录
  8. 录屏 java_Java小程序—录屏小程序(上半场)
  9. 【双碳政策】分布式光伏如何进行实时运维监测管理
  10. android对输入手机号码震动,手机卫士输入框抖动和手机震动效果的实现