公用体在格式化中的应用

2013年7月9日 由 Creater 留言 »

公用体在格式化中或许有着很高效而又简洁的效果。可以来看个例子:

关于4个字节转换为浮点数

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;


int main()
{
	union {
			struct {
				unsigned char b1;
				unsigned char b2;
				unsigned char b3;
				unsigned char b4;
			} a;
			float l;
		} u;
	u.a.b1 = 0x38;
	u.a.b2 = 0x3c;
	u.a.b3 = 0xbe;
	u.a.b4 = 0x62;
	/*
	u.a.b1 = 0x62;
	u.a.b2 = 0xbe;
	u.a.b3 = 0x3c;
	u.a.b4 = 0x38;
	*/
	printf("%f\n", u.l);
}

但是有个问题就是必须得区分是大端或在小端处理器模式!

广告位

发表评论

你必须 登陆 方可发表评论.