机器学习和生物信息学实验室论坛联盟MAchine Learning And Bioinformatics, MALAB
查看: 5832|回复: 7

Use bitwise operators only on unsigned operands

 火 [复制链接]
吴超(302) 该用户已被删除
发表于 2012-3-28 22:35:36 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2012-3-29 14:01:09 | 显示全部楼层
至今不会位操作的默默路过..............
回复

使用道具 举报

发表于 2012-3-29 14:48:15 | 显示全部楼层
xmubingo 发表于 2012-3-29 14:01
至今不会位操作的默默路过..............

至今不会C语言的也默默的路过。。。
回复

使用道具 举报

发表于 2012-3-29 19:04:05 | 显示全部楼层
貌似有符号数最左边的是符号位,左移在一定范围内不可以,右移可以
回复

使用道具 举报

发表于 2012-3-30 10:45:35 | 显示全部楼层
本帖最后由 tangzk 于 2012-3-30 10:48 编辑

-1的补码为0xffffffff,如果直接当作无符号数进行移位运算的话,里面全部都是1在移动,后面补0。
其实i&(j<<4),这个意思是屏蔽低四位,只取前(N-4)位,取低4位应该是:i & ~(j << 4)
或者还可以这样:i & ((1<<4) - 1),后者里面1<<4加括号是因为位运算在算术类运算符中优先级最低,比-减号运算还低。
回复

使用道具 举报

吴超(302) 该用户已被删除
 楼主| 发表于 2012-4-2 16:24:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

吴超(302) 该用户已被删除
 楼主| 发表于 2012-4-2 16:27:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2012-4-3 20:38:08 | 显示全部楼层
吴超(302) 发表于 2012-4-2 16:27
嗯, 你说的对, 我写错了, 现在改过来.

,欢迎常来交流啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注公众号
机器学习和生物信息学实验室联盟

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部