//小端转大端
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语言小端转大端的更多相关文章

  1. 数据在数组中存储的顺序:小端 OR 大端模式 详解

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

  2. (转)C系程序员面试必知必会之大端小端

      C程序员经常被问及的一道面试题是:什么是大端/小端,怎么样判断是大端/小端?大端小端问题对于嵌入式程序员绝对不会陌生(否则,别告诉我你是搞嵌入式的),它与CPU体系结构有关.比如常见的X86处理器 ...

  3. 【C/C++开发】内存对齐(内存中的数据对齐)、大端模式及小端模式

    数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍.DWORD数据的内存起始地址能被4除尽,WORD数据的内存起始地址能被2除尽.X86 CPU能直接访问对齐的数据,当它试图访问一个未对齐的数据 ...

  4. intel 系列的PC机处理器是大端的还是小端的?

    intel 系列的PC机处理器是大端的还是小端的?由于要安装oracle,需要知道是大端机器还是小端的,你好,现在流行的PC,是微型处理器,也就是所谓的小端处理器. 大端处理器是由若干个微型处理器有机 ...

  5. 大端小端转换,le32_to_cpu 和cpu_to_le32

    字节序 http://oss.org.cn/kernel-book/ldd3/ch11s04.html 小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台 ...

  6. 判断小端大端(C实现)

    C程序中的大端小端概念可以参见上一篇文章 如何区分小端和大端.本文重点讨论如何用C程序来判断当前系统是大端还是小端. 判断大端小端的程序如下: #include <stdio.h> int ...

  7. C++判断计算式是大端存储模式,还是小端存储模式

    小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位. 大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位. 判断计算机是小端还是大端 ...

  8. C# 大端小端转换

    关于大端和小端,是一个有趣的问题.本文告诉大家如何在C#转换大端和小端. 这里有一个有趣的故事,请看详解大端模式和小端模式 - CSDN博客 默认的 C# 使用的是小端,如果收到的消息是大端,那么就会 ...

  9. C语言--测试电脑存储模式(大端存储OR小端存储)

    相信大家都知道大端存储和小端存储的概念,这在平时,我们一般不用考虑,但是,在某些场合,这些概念就显得很重要,比如,在 Socket 通信时,我们的电脑是小端存储模式,可是传送数据或者消息给对方电脑时, ...

随机推荐

  1. 卸载TensorFlow

    卸载TensorFlow 1.先用pip3 list查看安装了那些TensorFlow,一般只有两个,另一个是TensorBoard 2.执行命令卸载 sudo apt remove --purge ...

  2. jenkins 批量修改svn 地址

    svn服务器的ip变了,jenkins里那么多任务一个个修改要疯了, 每个已经创建后的任务的svn 地址都配置在 jenkins 主目录下的jobs 里对应的任务下的config.xml 里 在job ...

  3. PHP内置常量,和可变变量,常量的定义

    关键常量 可变变量----变量名是变量的变量 常量的定义

  4. np.max() 和 np.maximum()的区别

    1.np.max(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接受一个参数 axis默认为axis=0即列向,如果axis=1即横向 ex: &g ...

  5. mysql5.7外网访问

    GRANT ALL PRIVILEGES ON *.* TO '账号名称'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGES; // ...

  6. ubuntu安装扩展在phpinfo显示不出来的解决办法

    在Ubuntu中使用apt-get安装了php扩展(比如redis.memcache.memcached等),在终端输入php -m是显示已加载,但是在phpinfo中无法显示,这个时候需要重启一下p ...

  7. npm安装cnpm时候报错code EINTEGRITY

    npm安装cnpm时候报错code EINTEGRITY错误展示 PS C:\Users\by\Desktop\element_ui_demo> npm install --g  npmnpm ...

  8. Makefile简单编写实例

    介绍一下Makefile的简单编写例子. 编写Makefile的规则就是: 目标文件:依赖文件 (tab)编译规则 现在我有一个文件目录结构为: 解释一下这几个文件.首先我创建makefile目录,底 ...

  9. 关于我&留言板

    在下高一OIer一枚,就读于SC的一所发展中学(ruo)校 对二次元什么的,有着淡淡的喜爱 初三的时候入了古风的坑,想变得文艺一点,可爱一点 也会听歌,但听得不多(主要是听新歌比较随缘),范围窄(古风 ...

  10. $\LaTeX$数学公式大全13

    $13\ Text\ Mode:\ Accents\ and\ Symbols$ $\AA$ \AA $\S$ \S