求助:VC6.0中如何定义一个位变量。
是这样子的,我的工程中有8个Check Box(复选框)。
而我要根据这8个复选框的选择情况去做一件事情。情况大概有2^8=256种情况
如果些条件判断的话会很麻烦。所以我就想如果可以定义位变量的话就好解决了。
直接先定义一个Char变量。然后8个复选框的结果依次为这个char变量的0~7位。这样的话,我最后只需要判断这个变量的值就可以了。。。。例如:
char as; a0为as的第0位,a1为as的第2位.....a7为as的第7位~~
但是现在却不知道在 VC中如何定义一个位变量。。。
所以请问下大牛们,在VC中可不可以定义位变量,该如何做啊。或者说这种问题该怎么解决。
[解决办法]
struct bits
{
bit0 : 1;
bit1 : 1;
...
};
[解决办法]
unsigned char 类型就可以。设置时用位操作。
比如:
unsigned char uc1;//设置第二个bit位为1,其他不变。uc1 |= 0x02;
[解决办法]
是俺的话就用一个函数,把8个checkbox的一个状态转成一个字节。然后就简单了。
[解决办法]
你这想法就成功了,只是你不需要什么为变量,直接惊醒二进制运算就好了,第一位值为1,第二位值为2,第三位值为4,第四位值为8。。。。以此类推,二进制或运算,得到char的结果值,要想判断是那个checkbox,只要将这个char的值按位与运算就知道了。