32位计算机如何处理大位数?前任. 512位整数 [英] How does a 32bit computer work with large bit numbers? Ex. 512bit integers
问题描述
我一直在阅读有关密码学的文章,我心想:一台32位计算机实际上如何对512位值甚至64位值执行操作?"
I have been reading an article on cryptography, and I thought to myself "How does a 32bit computer actually perform operations on a 512bit value, or even a 64 bit value?"
有人能指出我正确的方向吗?也许我对如何正确表达我想知道的内容不知所措,但是Google搜索对弄清这一点并不是很有帮助.
Would anyone be able to point me in the right direction? Maybe I am at a loss of how to properly express what I want to know, but Google searches haven't been very helpful in figuring this out.
谢谢!
推荐答案
Suppose I know all the one hundred single-digit * single-digit
multiplications (from 0 * 0 = 0
up to 9 * 9 = 81
), and someone asks me to calculate 561 * 845
. I could say, "sorry I can't multiply numbers that large"; or, I could remember my childhood education and do this:
561
845 *
----------
2805
2244
4488 +
==========
474045
这仅要求我可以在任何给定步骤中在已知范围内进行乘法 ,或进行加法(带进位).
which requires only that I can do, in any given step, a multiplication within my known range, or an addition (with carry).
现在,假设上面的每个符号不是十进制数字,而是一个32位字;而不是我,我们有一个处理器,可以将32位字乘以64位结果,并(带进位)相加32位字.瞧,我们有一个系统可以进行任意大的二进制乘法.
Now, suppose that instead of decimal digits, each of the symbols above was instead a 32 bit word; and instead of me, we had a processor that can multiply 32 bit words to a 64 bit result, and add (With carry) 32 bit words. Voila, we have a system for doing arbitrarily large binary multiplications.
这篇关于32位计算机如何处理大位数?前任. 512位整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!