位域的使用
来源:互联网 发布:眼霜有用吗 知乎 编辑:程序博客网 时间:2024/05/16 10:47
1.下面的程序在INTEL机子上运行
struct B
{
union
{
struct
{
unsigned int i:2;
unsigned int j:3;
unsigned int k:3;
}X;
unsigned char c;
};
};
B m;
m.c =200;
printf("%d/n",m.X.k);
答:
m.c =200;
200 二进制: 11001000
Intel是小端机, m.X.i 占两位是: 00 即为0
m.X.j 占三位是: 010 即为2
m.X.k 占三位是: 110 即为6
2.
typedef struct
{
int a:2;
int b:2;
int c:1;
}test;
test t;
t.a = 1;
t.b = 3;
t.c = 1;
printf("%d",t.a);
printf("%d",t.b);
printf("%d",t.c);
t.a为01,输出就是1
t.b为11,输出就是-1
t.c为1,输出也是-1
3个都是有符号数int嘛。
这是位扩展问题
01
11
1
编译器进行符号扩展
- 位域的使用
- 位域的使用
- 位域的使用
- 位域的使用
- 位域的使用
- 位域的使用
- 位域的使用
- C中的位段(位域)的使用
- C语言中的位域的使用
- C语言中的位域的使用
- C语言中的位域的使用
- 位域的定义与使用
- C语言中的位域的使用
- C语言中的位域的使用
- 位域的使用及注意事项
- C语言中的位域的使用
- 位域的定义和使用
- 位域的定义和使用
- 反其道而用之,把数组写入文件2
- Linux一些常用的基本命令
- 可拖动FLASH+XML图片展示效果【点击放大带标题内容】
- "ScriptManager不是已知元素 可能存在编译错误"
- jsp页面中的按钮仅对某一角色可见
- 位域的使用
- ACE框架的三大部分
- VC中OpenGL的配置
- Boost源码剖析之:增强的std::pair--Tuple Types
- USB Driver Develop On WinCE
- 多线程的学习笔记
- 锐捷认证客户端——多网卡限制破解
- Boost源码剖析之:容器赋值-assign
- Boost源码剖析之:泛型指针类any之海纳百川[转]