|
| x=(unsigned int)(a[0]&0x20) 这句为什么是代表对32求余的意思? |
| 新闻出处:21ic
发布时间: 2007-07-23 |
xwj 发布于 2007-7-22 22:11:00 其中没有“对32求余的意思”
鸟鸟 发布于 2007-7-22 22:18:00
/* Compute number of bytes mod 32 */
a[0]是放某段数据的长度数(以位数为单位)
x = (unsigned int)((a[0] >> 3) & 0x20);(这里是以字节数为单位)
jimoom 发布于 2007-7-23 9:23:00 这样才是求余吧? x = (unsigned int)((a[0] >> 3) % 0x20);
古道热肠 发布于 2007-7-23 9:36:00 x=(unsigned int)(a[0]&0x1F),鸟鸟你别给大伙放“鸽子”。
hqgboy 发布于 2007-7-23 10:00:00 到底是a[0]对32求余还是a[0]>>3对32求余?
kimfufree 发布于 2007-7-23 10:17:00 x=(unsigned int)(a[0]&0x1f)这句为什么是代表对32求余的意思? 0x1F==31,是32最大的余数,只取字节的低5位就可以。
computer00 发布于 2007-7-23 10:33:00 原帖是x=(unsigned int)(a[0]&0x20)...................
对32取余,其实就是保留最低5位......
ayb_ice 发布于 2007-7-23 10:48:00 不过在KEIL C51中用&或%其实是一样的,编译很聪明的...
古道热肠 发布于 2007-7-23 10:58:00 abc_ice还研究过?
鸟鸟 发布于 2007-7-23 12:51:00 古版,这是你日积月累的经验,还是强烈的数字感告诉你的?
* - 本贴最后修改时间:2007-7-23 12:52:55 修改者:鸟鸟 古道热肠 发布于 2007-7-23 13:05:00 写的代码到机器里跑一跑,看看现象,看看代码就能明白错在哪儿了。这种感觉高手都有,就你找不到,还来忽悠大伙。
|
| 【关闭】 【打印】 |
|
|
|
|