概述
## 位测试相关代码
#include <iostream>
#include <stdio.h>
#include <arpa/inet.h>
using namespace std;
typedef unsigned int UINT32;
typedef union {
struct Color{
UINT32 end:6;
UINT32 b:8;
UINT32 g:8;
UINT32 r:8;
UINT32 type: 2;
} color;
UINT32 data;
} ColorData;
#define TYPE_LEN 2
#define R_LEN 8
#define G_LEN 8
#define B_LEN 8
#define END_LEN 6
UINT32 formColor(UINT32 type,UINT32 r,UINT32 g,UINT32 b,UINT32 end){
printf("type:t%un",type << 30);
printf("r:t%un",r << 22);
printf("g:t%un",g << 14);
printf("b:t%un",b << 6);
return (type << 30) + (r << 22) + (g << 14) + (b << 6) + (end);
}
bool isBigEndian(){
int x = 1;
char * p = (char *)&x;
if(*p == 1)
return false;
else
return true;
}
int main(){
ColorData gColorData;
UINT32 col = formColor(2,60,60,60,20);
gColorData.data = col;
printf("htonl:t%dn",col);
printf("Endian-Mode:%dn",isBigEndian());
printf("colordata:t%un",col);
printf("==============================================n");
printf("type:t%dn",gColorData.color.type);
printf("r:t%dn",gColorData.color.r);
printf("g:t%dn",gColorData.color.g);
printf("b:t%dn",gColorData.color.b);
printf("end:t%dn",gColorData.color.end);
printf("==============================================n");
return 0;
}
最后
以上就是朴素世界为你收集整理的C++之位测试练习的相关代码的全部内容,希望文章能够帮你解决C++之位测试练习的相关代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复