易码技术论坛

 找回密码
 加入易码
搜索
查看: 2470|回复: 15

[求助] 写LAVA时有符号 〈〈 或>>是什么意思

[复制链接]
发表于 2007-12-25 11:41:30 | 显示全部楼层 |阅读模式
请会的详细说明一下~谢谢。
有这样符号的程序我都是用别的方法转开。。不明什么意思
位移吗?
发表于 2007-12-25 12:24:14 | 显示全部楼层
左移右移zzzzzzzzzzzzz
发表于 2007-12-25 13:47:02 | 显示全部楼层
位运算的左移(<<)右移(>>)
发表于 2007-12-25 18:05:27 | 显示全部楼层
1110_1011_1111_1001 >> 8
变成
1110_1011
发表于 2007-12-25 18:08:37 | 显示全部楼层
你说的是逻辑右移,算术右移是另一回事
发表于 2007-12-27 14:58:40 | 显示全部楼层
位运算符号。
比如:
   x>>2表示将x右移两位,结果等于x/4
     3<<x表示将x左移三位,结果等于x*8
也就是说将一个数x右移n位就等于x/(2^n),左移n位就等于x*2^n,但位移要比乘除快很多。具体参见C语言教程。
发表于 2007-12-27 15:42:00 | 显示全部楼层
一一b左移是那么用的么?
是x<<3才对吧。。。
 楼主| 发表于 2007-12-28 12:04:43 | 显示全部楼层

>>或<<利用在输入汉字时

起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?
发表于 2007-12-28 19:54:46 | 显示全部楼层
可以替代一些除数或者乘数为2的n次方的运算,速度快很多
 楼主| 发表于 2007-12-31 09:01:39 | 显示全部楼层

就是按汇编来说

这方法针对的是地址值的操作~速度比用乘法快很多是不?
发表于 2007-12-31 17:57:36 | 显示全部楼层
快很多是对的
不过你的理解不对
移位比乘法快是因为6502有移位指令,但是没有乘法指令(也没有除法指令),所以必须用几十条指令去模拟乘除发
发表于 2007-12-31 19:27:27 | 显示全部楼层
原帖由 xintu1987 于 2007-12-28 12:04 发表
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?

你说的是C++中的输入/输出流吧?
如:cout<<"c++输出"<<endl;
发表于 2007-12-31 20:49:21 | 显示全部楼层
呵呵,我也觉得是那个意思……
发表于 2008-1-18 23:49:19 | 显示全部楼层
原帖由 xintu1987 于 2007-12-28 12:04 发表
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?

你是说这种吧:
  1. int word;
  2. word=GetWord(4);
  3. if(word>>8)...
复制代码
这是取word的高8位,当它不是0时表示它是半角字符.
发表于 2008-2-14 12:14:07 | 显示全部楼层
原帖由 xintu1987 于 2007-12-28 12:04 发表
起到什么作用呢?
我看过利用在输入汉字时有用>>但不明意思?

他有可能说的是返回值:
如:
long input()
{
........
return a<<16&b;//将两个数据作为一个值进行返回
}

void main()
{
........
a=input();//取得返回值
b=a>>16;//取得高16位数据,
c=a&0ffff;//取得低十位数据,
}
发表于 2008-5-2 01:01:20 | 显示全部楼层
位移用于状态压缩能起到很强大的作用
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-23 23:27 , Processed in 0.011400 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表