返回信息流☆─────────────────────────────────────☆
prairiewolf (prairiewolf) 于 (Mon Aug 18 15:59:29 2008) 提到:
对一个字节的低四位赋值不影响高四位应该怎么做?
可不可以这么做
*(volatile int *)(addr) &= 0xf0;
*(volatile int *)(addr) |= (int)value;
但是我这么做结果好像不对
☆─────────────────────────────────────☆
afeionline (afeionline) 于 (Tue Aug 19 10:04:20 2008) 提到:
你的指针是int型的,怎么会是只有一个字节呢?
*(volatile int *)addr &= (int)0xf0;
*(volatile int *)addr |= (int)(value & 0x0f);
【 在 prairiewolf 的大作中提到: 】
: 对一个字节的低四位赋值不影响高四位应该怎么做?
: 可不可以这么做
: *(volatile int *)(addr) &= 0xf0;
: ...................
☆─────────────────────────────────────☆
prairiewolf (prairiewolf) 于 (Wed Aug 20 14:05:37 2008) 提到:
我这是打个比方...先不管什么类型,我这种方法应该没错吧?
☆─────────────────────────────────────☆
jakolulu (Jako) 于 (Wed Aug 20 23:43:20 2008) 提到:
【 在 prairiewolf 的大作中提到: 】
: 对一个字节的低四位赋值不影响高四位应该怎么做?
: 可不可以这么做
: *(volatile int *)(addr) &= 0xf0;
: ...................
最好并不要直接赋值,用移位的方式比较正规!
☆─────────────────────────────────────☆
afeionline (afeionline) 于 (Fri Aug 22 20:09:19 2008) 提到:
value & 0x0f
防止你的value高四位有非零数据
☆─────────────────────────────────────☆
readmecc (北邮 No.1神棍) 于 (Sun Aug 24 16:58:29 2008) 提到:
楼上+lz 正解也
这是一条镜像帖。来源:北邮人论坛 / circuit / #6854同步于 2008/9/5
Circuit机器人发帖
[合集] 怎么给一个字节的低四位赋值而不影响高四位的值?
pooh1949
2008/9/5镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。