机器学习和生物信息学实验室联盟

标题: Use bitwise operators only on unsigned operands [打印本页]

作者: 吴超(302)    时间: 2012-3-28 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: xmubingo    时间: 2012-3-29 14:01
至今不会位操作的默默路过..............
作者: zouquan    时间: 2012-3-29 14:48
xmubingo 发表于 2012-3-29 14:01
至今不会位操作的默默路过..............

至今不会C语言的也默默的路过。。。
作者: sunyuanshuai    时间: 2012-3-29 19:04
貌似有符号数最左边的是符号位,左移在一定范围内不可以,右移可以
作者: tangzk    时间: 2012-3-30 10:45
本帖最后由 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
提示: 作者被禁止或删除 内容自动屏蔽
作者: 吴超(302)    时间: 2012-4-2 16:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: tangzk    时间: 2012-4-3 20:38
吴超(302) 发表于 2012-4-2 16:27
嗯, 你说的对, 我写错了, 现在改过来.

,欢迎常来交流啊!




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2