作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
计算机如何对 2 个数字进行乘法运算,比如 100 * 55。
我的猜测是计算机进行了重复加法以实现乘法。当然,这可能是整数的情况。但是对于浮点数,必须有一些其他的逻辑。
注意:这是在采访中问到的。
最佳答案
重复加法将是一种非常低效的乘法方式,想象一下将 1298654825 乘以 85324154。使用二进制的长乘法要快得多。
1100100
0110111
=======
0000000
-1100100
--1100100
---0000000
----1100100
-----1100100
------1100100
==============
1010101111100
100 is 1 * 10^2 (10 to the power of 2 = 100)
55 is 5.5 * 10^1 (10 to the power of 1 = 10)
= 1 * 5.5 * 10^(2+1)
= 5.5 * 1000
= 5500
100 = 1.1001 * 2^6
55 = 1.10111* 2^5
-> 1.1001 * 1.10111 * 2^(6+5)
关于computer-science - 计算机如何乘以2个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060064/
我是一名优秀的程序员,十分优秀!