32位计算机如何处理大位数?前任. 512位整数 [英] How does a 32bit computer work with large bit numbers? Ex. 512bit integers

查看:325
本文介绍了32位计算机如何处理大位数?前任. 512位整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在阅读有关密码学的文章,我心想:一台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.

谢谢!

推荐答案

这是假设我知道所有一百个single-digit * single-digit乘法(从0 * 0 = 09 * 9 = 81),并且有人要求我计算561 * 845.我可以说,抱歉,我不能将那么大的数字相乘";或者,我可以记住我的童年教育并这样做:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆