利用共用体实现不同基本类型和Char(Byte)的转换

因为公用共享存储空间,所以利用共用体实现类型的转换更加方便和直观。

union uint2uchar{
    unsigned int ui;
    unsigned char uc[4];
};

void uint2ucharFun(unsigned char *cbuf, unsigned int num){
	union uint2uchar x;
		x.ui = num;
    	cbuf[0] = x.uc[0];
    	cbuf[1] = x.uc[1];
    	cbuf[2] = x.uc[2];
    	cbuf[3] = x.uc[3];
}

void uchar2uintFun(unsigned char *cbuf, unsigned int &num){
	union uint2uchar x;
    	x.uc[0] = cbuf[0];
    	x.uc[1] = cbuf[1];
    	x.uc[2] = cbuf[2];
    	x.uc[3] = cbuf[3];
        num = x.ui;
}

构建共用体,在利用上述函数则可以很方便实现类型转换,这里只实现了unsigned int 和 unsigned char的转换,其他类型类似,就不一一实现了。

没有更多推荐了,返回首页