>>是什么1意味着什么

时间:2014-03-15 03:31:33

标签: vhdl

简单的问题。我知道这是一个合乎逻辑的转变。但它是否意味着它在1?还是只有1?如果它没有在1中移位,那么它是循环移位吗?我已经用Google搜索过了,但那里有很多相互矛盾的信息。感谢。

4 个答案:

答案 0 :(得分:3)

向右逻辑右移,1位。

所以1001b>> 1 = 0100

它将向左填充一个0,并将所有位向右移动你正在移位的数字,所以1位。 user3372159是正确的,在处理器中设置一个标志位,该位被移开,但你需要一些汇编知识才能使用它,或者只是使用更多的二进制运算来获得第一位移位之前。

它对许多事情很有用,但特别是用于除以/乘以2。

10 = 1010b
1010b >> 1 = 0101b = 5
0101b << 1 = 1010b = 10 

答案 1 :(得分:3)

由于此问题标记为VHDL,A >> 1是语法错误。

VHDL中的移位运算符sll, sla, srl, srashift [left|right][logical|arithmetic],这使得它们首先变得不那么难以理解。

答案 2 :(得分:0)

通常这意味着你向右移1,所以移入的数字几乎总是为零,除非你正在移动进位标志。但是,我从未做过任何vhdl编程。这些知识来自大会。

答案 3 :(得分:0)

也可以用以下方式表达:

(x << k) == (x multiplied by (2 to the power of k))
(x >> k) == (x divided by (2 to the power of k))
相关问题