c语言小端转大端
//小端转大端
int little2big(int le) { return (le & 0xff) <<
| (le & 0xff00) <<
| (le & 0xff0000) >>
| (le >> ) & 0xff;
} //大端转小端
int big2little(int be)
{
return ((be >> ) &0xff )
| ((be >> ) & 0xFF00)
| ((be << ) & 0xFF0000)
| ((be << ));
}
short大小端转换
小端转大端
short little2bigs(short num)
{
short swapped = (num >> ) | (num << );
return swapped;
} 大端转小端
short big2littles(short be)
{
short swapped = (be << ) | (be >> );
return swapped;
}
32大端转小端原理
swapped = ((num>>)&0xff) | // move byte 3 to byte 0
((num<<)&0xff0000) | // move byte 1 to byte 2
((num>>)&0xff00) | // move byte 2 to byte 1
((num<<)&0xff000000); // byte 0 to byte 3
内置函数(传入大端转小端,小端转大端,以下同理)
16位无符号,大小端转换
unsigned short _byteswap_ushort(unsigned short value);
32位无符号,大小端转换
unsigned long _byteswap_ulong(unsigned long value);
64位无符号,大小端转换
unsigned __int64 _byteswap_uint64(unsigned __int64 value);
参考来源:
convert big endian to little endian in C [without using provided func]
Converting Little Endian to Big Endian
How do I convert between big-endian and little-endian values in C++?
c语言小端转大端的更多相关文章
- 数据在数组中存储的顺序:小端 OR 大端模式 详解
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放: 小端模式,是指数据的高 ...
- (转)C系程序员面试必知必会之大端小端
C程序员经常被问及的一道面试题是:什么是大端/小端,怎么样判断是大端/小端?大端小端问题对于嵌入式程序员绝对不会陌生(否则,别告诉我你是搞嵌入式的),它与CPU体系结构有关.比如常见的X86处理器 ...
- 【C/C++开发】内存对齐(内存中的数据对齐)、大端模式及小端模式
数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍.DWORD数据的内存起始地址能被4除尽,WORD数据的内存起始地址能被2除尽.X86 CPU能直接访问对齐的数据,当它试图访问一个未对齐的数据 ...
- intel 系列的PC机处理器是大端的还是小端的?
intel 系列的PC机处理器是大端的还是小端的?由于要安装oracle,需要知道是大端机器还是小端的,你好,现在流行的PC,是微型处理器,也就是所谓的小端处理器. 大端处理器是由若干个微型处理器有机 ...
- 大端小端转换,le32_to_cpu 和cpu_to_le32
字节序 http://oss.org.cn/kernel-book/ldd3/ch11s04.html 小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台 ...
- 判断小端大端(C实现)
C程序中的大端小端概念可以参见上一篇文章 如何区分小端和大端.本文重点讨论如何用C程序来判断当前系统是大端还是小端. 判断大端小端的程序如下: #include <stdio.h> int ...
- C++判断计算式是大端存储模式,还是小端存储模式
小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位. 大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位. 判断计算机是小端还是大端 ...
- C# 大端小端转换
关于大端和小端,是一个有趣的问题.本文告诉大家如何在C#转换大端和小端. 这里有一个有趣的故事,请看详解大端模式和小端模式 - CSDN博客 默认的 C# 使用的是小端,如果收到的消息是大端,那么就会 ...
- C语言--测试电脑存储模式(大端存储OR小端存储)
相信大家都知道大端存储和小端存储的概念,这在平时,我们一般不用考虑,但是,在某些场合,这些概念就显得很重要,比如,在 Socket 通信时,我们的电脑是小端存储模式,可是传送数据或者消息给对方电脑时, ...
随机推荐
- Selenium(3)
练习1:Ecshop 录制登录后退出业务 打开系统 存储页面的标题 a.点击"登录"按钮 b.输入用户名:testing 存储输入的用户名 c.输入密码:123456 d.点击&q ...
- SQL语句 case ... when
select 字段A, 字段B, CASE WHEN t.operate = 1 then 'aa'WHEN t.operate = 2 then 'bb'WHEN t.operate = 3 the ...
- hive日期函数-Demo(二)
需求:某资产近一个月的资产值 比如:今天是2018年2月28日,近一个月若是按照自然月来算,那么是2018年2月1日至2018年2月28日.最终需要的日期格式为:yyyyMMdd. 当日时间戳 uni ...
- 【代码备份】ORACLE数据库表同步DBLINK
---创建目标数据库连接DBLINKcreate database link testdblink connect to xxx identified by "xxx"using ...
- 题解 [SCOI2007]修车
题面 解析 这题要拆点.. 首先,证明一个式子: 设修理员M修了N辆车, 且修每辆车的时间为W1,W2....WN. 那么,这个修理员一共花的时间就为:W1*N+W2*(N-1)+...+WN*1. ...
- CentOS下安装libjpeg库及编译GD库
GD库明明安装了,可处理图片的时候还是报错 Fatal error: Call to undefined function imagecreatefromjpeg() .PHP安装后,默认的gd库不支 ...
- hadoop安装后运行一个单实例(测试MapReduce程序)
1.安装hadoop 解压hadoop-1.2.1-bin.tar.gz包 tar -zxvf hadoop-1.2.1-bin.tar.gz /opt/modules/ 解压后在/opt/mo ...
- java+大文件断点续传
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/1269085759/up6-jsp-mysq ...
- 线段树初步——转载自ljc20020730
线段树初步 线段树模板1:https://www.luogu.org/problem/show?pid=3372 线段树模板2:https://www.luogu.org/problem/show ...
- Helvetic Coding Contest 2019
题目链接:戳我 小注:其中部分(大括号不换行的)代码是BLUESKY007神仙写的. 咕 CF1184 A1 直接枚举,以根号的时间复杂度判断即可.注意x,y都是正整数. #include<io ...