網格法是數字長乘法的一種替代方法。 在這種方法中,首先構建一個網格,其大小適合要相乘的數字。 如果我們將一個 -位數乘以一個
-位數,則網格的大小為
。 被乘數放置在網格的頂部,以便每個數字都是單元格一列的標題(最高有效位放在左側)。 乘數放置在網格的右側,以便每個數字都是單元格一行的一個(尾隨)標題(最高有效位放在頂部)。 上圖說明了計算
的網格配置。
在實際乘法開始之前,必須為網格中從右上到左下的每個對角線路徑繪製線條,以平分每個單元格。 我們的 網格陣列將有 5 條對角線。
現在,我們透過將列頂部的數字和行右側的數字相乘來計算每個單元格的乘積。 乘積的十位數放在穿過單元格的對角線上方,個位數放在該對角線下方。 如果乘積小於 10,我們在對角線上方輸入零。
現在我們準備計算乘積的數字。 我們對每對對角線之間以及第一條(和最後一條)對角線與網格的相應角之間的數字求和。 我們從右下角單元格 (6) 的下半部分開始。 這個數字以網格的角和第一條對角線為界。 由於這是此對角線下方的唯一數字,因此第一個和為 6。 我們將總和沿網格底部放置在最右列下方。
接下來,我們對前一條對角線和下一條較高對角線之間的數字求和: 。 我們將 9 放在網格底部下方,並將 1 進位到下一組對角線的和中。 (為了清晰起見,對角線已延長。)
我們繼續對相鄰對角線之間以及頂部對角線和左上角之間的數字組求和。 最終乘積由剛剛計算出的網格外部的數字組成。 我們從左側向下讀取數字,然後在底部向右讀取以生成最終答案:783996。
雖然乍一看這個過程與長乘法非常不同,但網格法實際上在演算法上是等效的。