字节序(Byte Oder)

简介:

blog.zhaojie.me/2010/02/byte-order-and-related-library.html


对于0x0A0B0C0D 它的有效位从高到低便是0A、0B、0C及0D

大字节序(big endian):最高有效位放在低地址上的存储方式

wKiom1gRUwyw1kqBAABOBWmnVgc256.png


小字节序(little endian):最高有效位放在低地址上的存储方式






wKioL1gRVNGCsjdHAABItL6DWzY447.png


c语言来判断计算机是小端系统,还是大端系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
union  var{
     char  c[8];
     int   i;  
};
 
int  main( void ){
     union  var data;
     data.c[0] = 0x01;
     data.c[1] = 0x02;
     data.c[2] = 0x03;
     data.c[3] = 0x44;
     printf ( "p = %x" ,data.i);
}

结果为

44030201

此系统为小端系统.

本文转自神ge 51CTO博客,原文链接:http://blog.51cto.com/12218412/1866142

相关文章
|
6月前
|
存储 网络协议 C语言
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
816 0
|
存储 网络协议 开发者
[oeasy]python0074[专业选修]字节序_byte_order_struct_pack_大端序_小端序
[oeasy]python0074[专业选修]字节序_byte_order_struct_pack_大端序_小端序
72 0
关于网络字节序(network byte order)和主机字节序(host byte order)
在网络传输中,采用big-endian序,对于0x0A0B0C0D,传输顺序就是0A 0B 0C 0D,因此big-endian作为network byte order,little-endian作为host byte order 为什么X86存储会使用little-endian,起初我想对于位运算,尤其是位移运算,little-endian很方便,但转念一想,big-endian也方便啊,无非是左移和右移的区别而已,但little-endian的优势在于unsigned char/short/int/long类型转换时,存储位置无需改变。
|
12月前
|
Java
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
116 0
|
4月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
50 0
|
4月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
105 0
|
存储 Java 计算机视觉
java 之byte
当涉及到处理数据时,Java 提供了多种数据类型,其中包括 `byte` 类型。在本文中,我们将深入探讨 Java 中的 `byte` 数据类型,了解它的特点、用途以及在编程中的实际应用。
|
Java
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
93 0
|
存储 Java
[java 基础知识] byte int 互转
[java 基础知识] byte int 互转
129 0
|
Dubbo 应用服务中间件
Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException
Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException
177 0