判断字节序大小端code 上述code输出数值为: $ ./a.out 0x25920x25920000 方便理解。 除了 uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(ui ...
分类:
其他好文 时间:
2018-06-28 00:53:28
阅读次数:
552
两种方式:1、通过指针 2、通过联合体,联合体里面的数据都是按顺序存储的,而且不论联合体里面有多少数据类型,联合体长度是最长的数据类型的长度。不论初始化多少联合体里面的数据,有效的是最后一个初始化数据,因为联合体里面的各种数据类型共用相同的地址,都从相同的地址开始存放。 输出结果: ...
分类:
其他好文 时间:
2016-08-21 18:33:06
阅读次数:
129
最近在学习微机接口技术和网络编程基础,在这两门学科里都提到计算机字节的大小端判断问题 什么是大小端呢? 如果在连续的两个地址空a,a+1面存入一个占用这两个空间的整数。以十六位数为例 0x0102 如果a里面是01 则说明是大端存储 如果a里面是02则说明是小端存储 c语言代码: #include ...
分类:
其他好文 时间:
2016-04-18 20:48:51
阅读次数:
197
boolcheckCPU(){unionw{inta;charc;}t;t.a=1;return(t.c==1);}注:大端从高位内存开始存储数据小端从低位内存开始存储数据。上例如果返回true,则为小端,false为大端。
分类:
其他好文 时间:
2015-10-31 18:47:07
阅读次数:
164
voidIsBigEndian(){shortinta=0x1122;//十六进制,一个数值占4位charb=*(char*)&a;//通过将short(2字节)强制类型转换成char单字节,b指向a的起始字节(低字节)if(b==0x11)//低字节存的是数据的高字节数据{//是大端模式}else{//是小端模式}}
分类:
其他好文 时间:
2015-10-21 00:29:20
阅读次数:
146
判断PC机大小端 1 #include 2 #include 3 4 int main() 5 { 6 short a = 0x0102; 7 char *p = (char*)(&a); 8 9 //低字节存储在低地址10 if(*p == 2 && *(p +...
分类:
其他好文 时间:
2015-04-13 18:22:28
阅读次数:
128
主要内容:宏定义、max(a,b)宏定义细节、大小端判断、(int&)a什么意思
#if 1
#include
// 注意空格
#define F (x) ((x) - 1) // F代表后面
#define F(x) ((x) - 1) // F(x)代表后面
// 经典的笔试题宏定义求最大值
//#define max(a,b) a>b?a:b //这个...
分类:
编程语言 时间:
2014-11-04 17:30:28
阅读次数:
298
机器大小端判断: 1 #include 2 3 typedef union{ 4 char x; 5 int i; 6 }un; 7 8 int main() 9 {10 un tt; 11 tt.i = 1;12 13 if(tt.x == 1)...
分类:
其他好文 时间:
2014-07-23 16:14:32
阅读次数:
337