/**
* 功能:联合体使用
* 时间:2014年8月1日17:04:23
* 作者:cutter_point
*/
#include
#include
using namespace std;
union Packed
{
char i;
short j;
int k;
long l;
float f;
double d; //这个联合体...
分类:
编程语言 时间:
2014-08-13 10:39:05
阅读次数:
262
在写网络程序的时候,我们经常需要将结构体或者整数等数据类型序列化成二进制的buffer串。或者从一个buffer中解析出来一个结构体出来,最典型的就是在协议的header部分表征headlength或者bodylength在拼包和拆包的过程中,需要按照规定的整数类型进行解析,且涉及到大小端序的..
分类:
其他好文 时间:
2014-08-13 03:49:35
阅读次数:
10299
数字16的16进制表示为0x0010,数字4096的16进制表示为0x1000。由于Intel机器是小尾端,存储数字16时实际顺序为1000,存储4096时实际顺序为0010,注意是按字节来判定大小端的,即8个BIT为单位,而不是4BIT因此在发送网络包时为了报文中数据为0010,需要经过htons...
分类:
其他好文 时间:
2014-08-06 18:24:21
阅读次数:
209
我们经常看到求 sizeof(A) 的值的问题,其中A是一个结构体,类,或者联合体。为了优化CPU访问和优化内存,减少内存碎片,编译器对内存对齐制定了一些规则。但是,不同的编译器可能有不同的实现,本文只针对VC++编译器,这里使用的IDE是VS2012。#pragma pack()是一个预处理,表示...
分类:
编程语言 时间:
2014-08-06 14:17:01
阅读次数:
234
机器大小端判断: 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
初学C语言union的时候,一直在想到底在哪里用到它,甚至在工作的前一年基本上认为union是无用的,直到后来看到一大牛写的代码,才豁然开朗,深感学无止境!直接上代码,见如下应用场景:在硬件编程中,经常要进行位操作,假定 寄存器是8位的(这里就偷个懒,不写32位的了),且某个寄存器的地址是 0x10...
分类:
其他好文 时间:
2014-07-22 22:47:13
阅读次数:
229
copy#include //#include usingstd;typedefuint16;unsigneduint32; //短整型大小端互换 #defineBigLittleSwap16(A)((((uint16)(A)&0xff00)>>8)|\ //长整型大小端互换 #defineBi.....
分类:
其他好文 时间:
2014-07-22 22:46:34
阅读次数:
238
转自http://blog.csdn.net/delphiwcdj/article/details/6234383问题 :如何用程序确认当前系统的存储模式(大端还是小端)?写一个C函数,若处理器是Big-endian的,则返回0;若是Little-endian的,则返回1。情况1:利用数组类型#in...
分类:
其他好文 时间:
2014-07-22 22:45:33
阅读次数:
196
秦统一前后的吴忠及秦汉对吴忠地区的开发杨森翔公元前20世纪以后,吴忠地区的原始社会逐渐解体,并在原始部落的基础上,经过激烈的兼并,结合成较大的部落联合体。这种联合体,已不是部落成员之间相互平等的部落联盟,而是具有地位、权力不平等的国家的雏型。当时,居住在西北地区的居民,在中国历史上被总称为“戎”,...
分类:
其他好文 时间:
2014-07-21 14:16:16
阅读次数:
375
本篇论文主要读者适合对银行业务感兴趣的技术开发者,我这里尽量用普通读者能读懂的语言来描述银行自助结算业务系统架构。
在讲之前,先要阐述一个概念,即银联:
银联即各家银行的联合体,各家加入银联的银行都是银联的股东,银联的主要业务为:POS/ATM等自助结算收单业务,银联在线支付,互联网手机支付三项业务。
在没有银联的之前,自助结算业务系统架...
分类:
其他好文 时间:
2014-07-18 12:24:26
阅读次数:
211