1
36
将2的任何值乘以n的幂(即2^n),将位n次向左移动。
等。。 将位右移。 位是1或0的整数-不能移动一个位的一部分,因此如果您要乘以的数字不是n的整数值的因数 IE.
因此,要乘以17,您必须向左移动4位,然后再次添加原始数字:
IE.
编辑:更新到原始答案。 Charles Petzold has written a fantastic book 'Code' 这将以最简单的方式解释所有这些。我完全推荐这个。 |
2
10
在没有乘法指令的情况下使两个二进制编码的数相乘。 迭代添加以到达产品是很简单的。
利用位运算,可以充分利用数据编码的特点。 如前所述,位移与乘2相同。 使用这个加法器可以使用两个幂。
|
3
3
我认为这应该是左移。8是2^3,所以左移3位: 2<<3=8 |
4
3
你将被乘数乘以2的幂。
|
5
3
|
6
0
|
7
0
我刚刚意识到这和前一个答案是一样的。哈哈,对不起。
|
no one special · 32位整数缩放,无溢出 6 年前 |
Benn Tan · 比特操作:更难翻动硬币 6 年前 |
Ganesh Thampi · 使用位运算符将十进制转换为二进制 6 年前 |
Ganesh Thampi · 使用位的奇偶程序 6 年前 |
datapanda · 三维网格的莫顿反向编码 6 年前 |
rubyquartz · 交换无符号短整数的字节 6 年前 |
John Proctor · C中位的掩蔽范围 6 年前 |
Areg Sarvazyan · 从无符号int中提取位的函数 6 年前 |
user9505617 · 按位异或0xFFFFFFFF? 6 年前 |