请问如何分别设置字节的高4位和低4位?? 小弟请问大家: BYTE变量要对其高4位和低4位分别设置,如何操作? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用为运算符|,一位一位地设BYTE n=0;n |= 0x80;最高位n |= 0x40;...n |= 0x01; n |= 0x0fn |= 0xf0 #define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))用这个宏 上面的是8位,4位的话可以自己修改下#define MAKEBYTE(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xf)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xf))) < <4)) 这样试一下 或者定义结构体struc aa{BYTE a:4;BYTE b:4;}应该只占一个BYTE的空间,可以分别赋值 用运算可否这样:n&=0xf0;//清空低4位n|=??//设置你的低四位值,如0x0an&=0x0f;//清空高4位n!=??//设置你的高4位,如0x80 BYTE b;//设高四位:BYTE x = 0xA;b &= 0x0f;b |= (x<<4); //把高四位高成x//设低四位b &= 0xf0;b |= (x & 0x0f); //把低四位高成x 移位操作 << >>4自己需要的 与 或 操作 VC中可以用别人的事.exe应用程序吗 绘图问题,求助大家,谢谢了 UpdateWindow问题 高分求书~~~~ 多数据源问题 请问vc这样执行存储过程,那么,如何读取该存储过程的返回值呢? 如何获得硬盘序列号年? 如何在工具条上添加文字? 请问怎样用MediaPlayer播放流? 30分求解!!!!!! VC与C++有很大不同吗? datagrid数据库操作 怎样判断一个FTP地址是有效的地址
BYTE n=0;
n |= 0x80;最高位
n |= 0x40;
...
n |= 0x01;
n |= 0xf0
这样试一下
{
BYTE a:4;
BYTE b:4;
}
应该只占一个BYTE的空间,可以分别赋值
n&=0xf0;//清空低4位
n|=??//设置你的低四位值,如0x0a
n&=0x0f;//清空高4位
n!=??//设置你的高4位,如0x80
//设高四位:
BYTE x = 0xA;
b &= 0x0f;
b |= (x<<4); //把高四位高成x//设低四位
b &= 0xf0;
b |= (x & 0x0f); //把低四位高成x