2011-06-14 61 views
1

鑑於CPU上的寄存器是固定長度的,CPU如何處理大量數據?cpu如何處理非常大的數字?

例如,在32位系統上,使用兩個補碼系統,整數可以保存0到4,294,967,295之間的值。現在最大的已知素數是12,978,189位數字。

在檢查最大素數實際上是素數時,CPU將如何存儲數字以執行操作?

+0

隨着間接另一層當然:) – harpo 2011-06-14 19:10:19

+0

哈哈哈哈波.. http://www.youtube.com/watch?v=EnTqkTT_3nE&feature=related – 2011-06-14 20:37:05

回答

4

寄存器只是指示CPU可以使用的即時值,而不是它可以訪問的總內存量。回想一下如何在紙上添加大量數字,每次只能輸入一個數字,攜帶1或2並繼續前進。一個使用大數字的程序基本上使用了類似的方法,但可能會進行優化。在這一點上唯一的限制是你擁有多少存儲空間。

+0

1有用的類比。 – harpo 2011-06-14 19:10:57

相關問題