union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.例子如下: union StateMachine {    char character;    int number;    char *str;    double exp; }; 一个union 只配置一个足够大的空间以来容纳最大长度…
int checkCPUendian()//返回1,为小端:反之,为大端: { union { unsigned int a; unsigned char b; }c; c.a = 1; return 1 == c.b; } 大端模式(Big-endian),是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式(Little-endian),是指数据的高字节保存在内存的高地…
两者的区别: 1. 共用体和结构体都是由多个不同的数据类型成员组成, 但在任何同一时刻, 共用体只存放了一个被选中的成员, 而结构体的所有成员都存在.   2. 对于共用体的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构体的不同成员赋值是互不影响的.   1.2 什么是高/低字节 现在我们弄清了高/低地址,接着考虑高/低字节.有些文章中称低位字节为最低有效位,高位字节为最高有效位.如果我们有一个32位无符号整型0x12345678,那么高位是什么,低位又是什么呢? 其…
union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.例子如下: union StateMachine { char character; int number; char *str; double exp; }; 一个union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,…
union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.例子如下:union StateMachine{ char character; int number; char *str; double exp;}; 一个union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,最大长…
前言:Java默认采用大端序存储方式,实际编码的音频数据是小端序,如果处理单8bit的音频当然不需要做转换,但是如果是16bit或者以上的就需要处理成小端序字节顺序. 注:大.小端序指的是字节的存储顺序是按从高到低还是从低到高的顺序存储,与处理器架构有关,Intel的x86平台是典型的小端序存储方式 1.Java中使用ByteOrder.LITTLE_ENDIAN表示小端序,ByteOrder.BIG_ENDIAN表示大端序 小端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端 大端序…
#include<stdio.h> #include<netinet/in.h> #include<stdlib.h> #include<string.h> int main(){ ); char * p="0.0.0.1"; struct sockaddr_in servaddr; bzero(&servaddr,sizeof(servaddr)); inet_pton(AF_INET,p,&servaddr.sin_a…
union 关键字(主要用来压缩空间,如果一些数据不可能同一时间同时用到,可是考虑使用union) union关键字声明的变量称之为联合体变量: (1)联合体变量只配置一个足够大的空间来容纳最大长度的数据成员, (2)联合体中的数据共享一块空间,同一时间只能存储其中的一个数据成员, (3)联合体的所有数据成员拥有相同的起始地址. 例如: union date { char a; int b; double c; } 2.大小端模式 大端模式:数据的高字节存储在低地址,低字节在高地址 小端模式:数…
转:http://www.360doc.com/content/13/0624/10/496343_295125641.shtml 1.比特序 / 位序 /  bit numbering / bit endianness   我们知道一个字节有8位,也就是8个比特位.从第0位到第7位共8位.比特序就是用来描述比特位在字节中的存放顺序的.通过阅读网页http://en.wikipedia.org/wiki/Bit_numbering的内容,关于比特序我们得到下面的结论: (1)比特序分为两种:LS…
1. union 关键字 union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在 union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.例子如下: union StateMachine { char character; int number; char *str; double exp; }; 一个 union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,最大长度是 double 型…