写LAVA时有符号 〈〈 或>>是什么意思
请会的详细说明一下~谢谢。有这样符号的程序我都是用别的方法转开。。不明什么意思
位移吗? 左移右移zzzzzzzzzzzzz 位运算的左移(<<)右移(>>) 1110_1011_1111_1001 >> 8
变成
1110_1011 你说的是逻辑右移,算术右移是另一回事 位运算符号。
比如:
x>>2表示将x右移两位,结果等于x/4
3<<x表示将x左移三位,结果等于x*8
也就是说将一个数x右移n位就等于x/(2^n),左移n位就等于x*2^n,但位移要比乘除快很多。具体参见C语言教程。 一一b左移是那么用的么?
是x<<3才对吧。。。
>>或<<利用在输入汉字时
起到什么作用呢?我看过利用在输入汉字时有用>>但不明意思? 可以替代一些除数或者乘数为2的n次方的运算,速度快很多
就是按汇编来说
这方法针对的是地址值的操作~速度比用乘法快很多是不? 快很多是对的不过你的理解不对
移位比乘法快是因为6502有移位指令,但是没有乘法指令(也没有除法指令),所以必须用几十条指令去模拟乘除发 原帖由 xintu1987 于 2007-12-28 12:04 发表 http://www.emsky.net/bbs/images/common/back.gif
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?
你说的是C++中的输入/输出流吧?
如:cout<<"c++输出"<<endl; 呵呵,我也觉得是那个意思…… 原帖由 xintu1987 于 2007-12-28 12:04 发表 http://www.emsky.net/bbs/images/common/back.gif
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?
你是说这种吧:int word;
word=GetWord(4);
if(word>>8)...这是取word的高8位,当它不是0时表示它是半角字符. 原帖由 xintu1987 于 2007-12-28 12:04 发表 http://www.emsky.net/bbs/images/common/back.gif
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?
他有可能说的是返回值:
如:
long input()
{
........
return a<<16&b;//将两个数据作为一个值进行返回
}
void main()
{
........
a=input();//取得返回值
b=a>>16;//取得高16位数据,
c=a&0ffff;//取得低十位数据,
} 位移用于状态压缩能起到很强大的作用
页:
[1]