struct OneColumS
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
unsigned char bit8:1;
unsigned char bit9:1;
unsigned char bit10:1;
unsigned char bit11:1;
unsigned char bit12:1;
unsigned char bit13:1;
unsigned char bit14:1;
unsigned char bit15:1;
unsigned char bit16:1;
unsigned char bit17:1;
unsigned char bit18:1;
unsigned char bit19:1;
unsigned char bit20:1;
unsigned char bit21:1;
unsigned char bit22:1;
unsigned char bit23:1;
unsigned char bit24:1;
unsigned char bit25:1;
unsigned char bit26:1;
unsigned char bit27:1;
unsigned char bit28:1;
unsigned char bit29:1;
unsigned char bit30:1;
unsigned char bit31:1;
unsigned char bit32:1;
unsigned char bit33:1;
unsigned char bit34:1;
unsigned char bit35:1;
unsigned char bit36:1;
unsigned char bit37:1;
unsigned char bit38:1;
unsigned char bit39:1;
unsigned char bit40:1;
unsigned char bit41:1;
unsigned char bit42:1;
unsigned char bit43:1;
unsigned char bit44:1;
unsigned char bit45:1;
unsigned char bit46:1;
unsigned char bit47:1;
unsigned char bit48:1;
unsigned char bit49:1;
unsigned char bit50:1;
unsigned char bit51:1;
unsigned char bit52:1;
unsigned char bit53:1;
unsigned char bit54:1;
unsigned char bit55:1;
unsigned char bit56:1;
unsigned char bit57:1;
unsigned char bit58:1;
unsigned char bit59:1;
unsigned char bit60:1;
unsigned char bit61:1;
unsigned char bit62:1;
unsigned char bit63:1;
unsigned char bit64:1;
unsigned char bit65:1;
unsigned char bit66:1;
unsigned char bit67:1;
unsigned char bit68:1;
unsigned char bit69:1;
unsigned char bit70:1;
unsigned char bit71:1;
unsigned char bit72:1;
unsigned char bit73:1;
unsigned char bit74:1;
unsigned char bit75:1;
unsigned char bit76:1;
unsigned char bit77:1;
unsigned char bit78:1;
unsigned char bit79:1;
unsigned char bit80:1;
unsigned char bit81:1;
unsigned char bit82:1;
unsigned char bit83:1;
unsigned char bit84:1;
unsigned char bit85:1;
unsigned char bit86:1;
unsigned char bit87:1;
unsigned char bit88:1;
unsigned char bit89:1;
unsigned char bit90:1;
unsigned char bit91:1;
unsigned char bit92:1;
unsigned char bit93:1;
unsigned char bit94:1;
unsigned char bit95:1;
unsigned char bit96:1;
unsigned char bit97:1;
unsigned char bit98:1;
unsigned char bit99:1;
unsigned char bit100:1;
unsigned char bit101:1;
unsigned char bit102:1;
unsigned char bit103:1;
unsigned char bit104:1;
unsigned char bit105:1;
unsigned char bit106:1;
unsigned char bit107:1;
unsigned char bit108:1;
unsigned char bit109:1;
unsigned char bit110:1;
unsigned char bit111:1;
unsigned char bit112:1;
unsigned char bit113:1;
unsigned char bit114:1;
unsigned char bit115:1;
unsigned char bit116:1;
unsigned char bit117:1;
unsigned char bit118:1;
unsigned char bit119:1;
unsigned char bit120:1;
unsigned char bit121:1;
unsigned char bit122:1;
unsigned char bit123:1;
unsigned char bit124:1;
unsigned char bit125:1;
unsigned char bit126:1;
unsigned char bit127:1;
}OneColumS_1;
有这么个结构体,成员全是位变量,下面有个函数
void xxxx(unsigned char xx)
{}
怎么样根据xx值,直接操作以xx位置开始的八个位变量?
如:
假设xx=111;,那么我要操作bit110----bit117这八个位量
要是不然。
就要这么写了
void xxxx(unsigned char xx)
{
switch(xx)
{
case:0
//操作以0开始的八个位量;
break;
case:1
//操作以1开始的八个位量;
break;
..
....
..
..
}
}
这样写那不要烦死,请问高人,有什么方法可以简化呢
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
unsigned char bit8:1;
unsigned char bit9:1;
unsigned char bit10:1;
unsigned char bit11:1;
unsigned char bit12:1;
unsigned char bit13:1;
unsigned char bit14:1;
unsigned char bit15:1;
unsigned char bit16:1;
unsigned char bit17:1;
unsigned char bit18:1;
unsigned char bit19:1;
unsigned char bit20:1;
unsigned char bit21:1;
unsigned char bit22:1;
unsigned char bit23:1;
unsigned char bit24:1;
unsigned char bit25:1;
unsigned char bit26:1;
unsigned char bit27:1;
unsigned char bit28:1;
unsigned char bit29:1;
unsigned char bit30:1;
unsigned char bit31:1;
unsigned char bit32:1;
unsigned char bit33:1;
unsigned char bit34:1;
unsigned char bit35:1;
unsigned char bit36:1;
unsigned char bit37:1;
unsigned char bit38:1;
unsigned char bit39:1;
unsigned char bit40:1;
unsigned char bit41:1;
unsigned char bit42:1;
unsigned char bit43:1;
unsigned char bit44:1;
unsigned char bit45:1;
unsigned char bit46:1;
unsigned char bit47:1;
unsigned char bit48:1;
unsigned char bit49:1;
unsigned char bit50:1;
unsigned char bit51:1;
unsigned char bit52:1;
unsigned char bit53:1;
unsigned char bit54:1;
unsigned char bit55:1;
unsigned char bit56:1;
unsigned char bit57:1;
unsigned char bit58:1;
unsigned char bit59:1;
unsigned char bit60:1;
unsigned char bit61:1;
unsigned char bit62:1;
unsigned char bit63:1;
unsigned char bit64:1;
unsigned char bit65:1;
unsigned char bit66:1;
unsigned char bit67:1;
unsigned char bit68:1;
unsigned char bit69:1;
unsigned char bit70:1;
unsigned char bit71:1;
unsigned char bit72:1;
unsigned char bit73:1;
unsigned char bit74:1;
unsigned char bit75:1;
unsigned char bit76:1;
unsigned char bit77:1;
unsigned char bit78:1;
unsigned char bit79:1;
unsigned char bit80:1;
unsigned char bit81:1;
unsigned char bit82:1;
unsigned char bit83:1;
unsigned char bit84:1;
unsigned char bit85:1;
unsigned char bit86:1;
unsigned char bit87:1;
unsigned char bit88:1;
unsigned char bit89:1;
unsigned char bit90:1;
unsigned char bit91:1;
unsigned char bit92:1;
unsigned char bit93:1;
unsigned char bit94:1;
unsigned char bit95:1;
unsigned char bit96:1;
unsigned char bit97:1;
unsigned char bit98:1;
unsigned char bit99:1;
unsigned char bit100:1;
unsigned char bit101:1;
unsigned char bit102:1;
unsigned char bit103:1;
unsigned char bit104:1;
unsigned char bit105:1;
unsigned char bit106:1;
unsigned char bit107:1;
unsigned char bit108:1;
unsigned char bit109:1;
unsigned char bit110:1;
unsigned char bit111:1;
unsigned char bit112:1;
unsigned char bit113:1;
unsigned char bit114:1;
unsigned char bit115:1;
unsigned char bit116:1;
unsigned char bit117:1;
unsigned char bit118:1;
unsigned char bit119:1;
unsigned char bit120:1;
unsigned char bit121:1;
unsigned char bit122:1;
unsigned char bit123:1;
unsigned char bit124:1;
unsigned char bit125:1;
unsigned char bit126:1;
unsigned char bit127:1;
}OneColumS_1;
有这么个结构体,成员全是位变量,下面有个函数
void xxxx(unsigned char xx)
{}
怎么样根据xx值,直接操作以xx位置开始的八个位变量?
如:
假设xx=111;,那么我要操作bit110----bit117这八个位量
要是不然。
就要这么写了
void xxxx(unsigned char xx)
{
switch(xx)
{
case:0
//操作以0开始的八个位量;
break;
case:1
//操作以1开始的八个位量;
break;
..
....
..
..
}
}
这样写那不要烦死,请问高人,有什么方法可以简化呢
解决方案 »
- 类似于WarKey改键器中键位的获取
- 有问题的程序,关于VC定时器,大家帮我改改
- 100元求解,非模态child对话框DLL调用
- 如何用程序通过注册表修改dns的地址,急!!!!!!!!!
- dbgrid 设置数据源能不能在程序里实现?如何实现?
- 在发一贴!SDI系列问题之三 在线急等?斑竹帮忙!!!
- 我在对话框中如何获得View类的句柄? 有没有类似AfxGetApp()之类的函数来解决问题?
- 简单问题!!关于图标
- 当我把实型数值保存到文件时,当打开时出现乱码?怎么办呢?
- ListCtrl 添加item后,同行后面的item text常常显示不出来,怎么回事啊?
- 疑难杂症[谢谢拉,初学不懂]
- 高手帮忙看一下问题怎么解决!
{
int nSize = 16;
BYTE* pCol = new BYTE[nSize];
ZeroMemory(pCol, nSize);
pCol[offset / 8] = 1 << (offset % 8);
CopyMemory(OneColumS_1, pCol, nSize);
delete [] pCol;
}