BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #6854同步于 2008/9/5
Circuit机器人发帖

[合集] 怎么给一个字节的低四位赋值而不影响高四位的值?

pooh1949
2008/9/5镜像同步0 回复
☆─────────────────────────────────────☆ 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 正解也
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。