什么是W位词?

时间:2011-07-13 02:55:40

标签: binary bit-manipulation computer-architecture

  1. 计算机架构中的w-bit字是什么?
  2. 两个7位字
  3. 1011001 = A 
    1101011 = B , how does multiplication returns
    
         

    10010100110011?

    这些中是否涉及简单的二进制乘法? 请举例说明。

5 个答案:

答案 0 :(得分:3)

w-bit只是n位的典型命名法,因为w通常是字长的缩写

答案 1 :(得分:2)

加法和乘法都与十进制(基数10)相同。你只需要记住这个真值表:

Multiplying
-----------
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1

Adding
-----------
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (w/ carry)

首先添加。要添加,您可以像在普通算术中一样添加,除了按照上面的真值表:

  00000101 = 5
+ 00000011 = 3
--------------
  00001000 = 8

这是如何工作的,你从右边开始,左边工作。 1 + 1 = 0,但您将1带到下一列。因此,下一列为0 + 1,即1,但由于您从上一列中携带了另一个1,因此它真正1 + 1,即0 。您在下一列1上方1 + 0,但由于进位而非1 + 1。因此,再次0,最后将1移至下一列0 + 0,但由于我们的进位,变为1 + 0,即1。所以我们的答案是1000,小数为85 + 3 = 8,所以我们知道我们是对的。

接下来,乘以:

  00000101 = 5
x 00000011 = 3
----------
       101 = 5
+     1010 = 10
----------
      1111 = 15

这是如何工作的,您将顶部数字00000101乘以第二行中最右边的数字。因此00000011是我们的第二行,1是最右边的数字,所以000001011 = 101。接下来,将0占位符放在其下方最右侧的列中,就像在正常乘法中一样。然后,我们将原始数字00000101乘以原始问题00000011中左下一位数。它再次产生101。接下来,您只需添加101 + 1010 = 1111 ...这就是答案

答案 2 :(得分:1)

是的,这是简单的二进制乘法:

>>> 0b1011001
89
>>> chr(_)
'Y'
>>> 0b1101011
107
>>> chr(_)
'k'
>>> ord('Y') * ord('k')
9523
>>> bin(_)
'0b10010100110011'

答案 3 :(得分:1)

如果你想要乘法,你只需将乘法与十进制数相同,除了你必须在二进制中添加进位:

         1011001
        x1101011
         -------
         1011001
        1011001.
       0000000..
      1011001...
     0000000....
    1011001.....
   1011001......
  --------------
  10010100110011

答案 4 :(得分:1)

w-bit单词本身并不是什么。假设w的值先前已在使用“w-bit word”的上下文中定义,则它仅表示由w位组成的字。例如:

A version of RC6 is more accurately specified as RC6-w/r/b where the word size
is "w" bits,  encryption consists of a nonnegative number of rounds "r," and
"b" denotes the length of the encryption key in bytes. Since the AES
submission is targetted at w=32, and r=20, we shall use RC6 as shorthand to
refers to such versions.

因此,在该文档的上下文中,“w位字”只是一个32位值。

至于你的乘法,我不确定你在问什么。 Google确认结果是正确的:

1011001 * 1101011 = 10010100110011