论坛: 编程破解 标题: 循环移位的问题 复制本贴地址    
作者: sniper167 [sniper167]    论坛用户   登录
main()
{unsigned a,b,c;
int n;
scanf ("a=%o,n=%d",&a,&n);
b=a<<(16-n);
c=a>>n;
c=c|b;
printf ("%o\n%o",a,c);
}

这种移位能不能用于十进制?
我试了一下,十进制时移位出错。
十进制能不能用位运算来进行移位?
如果能,有哪些需要改动?

地主 发表时间: 04-02-24 12:33

回复: 286 [unique]   版主   登录
十进制肯定不行。
因为你的程序中用一个十进制的数,但到内存中,全部都会转换为二进制,所以进行的还是二进制的移位。如果需要,你可以自己编写一个。比如要右移,就让他除以10,左移就乘以10。

B1层 发表时间: 04-02-24 13:28

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号