可以看下一段視頻演示,很有意思的:http://www.6rooms.com/player.swf?vid=STJd2KkluxggOS7kwW7wuA
下面為轉帖,轉帖于:http://xmxoxo.blog.hexun.com/6984004_d.html
如果看不了可以看看下面的思路:

自己整理了一下:

12*34=?
乘數:12
被乘數:34


先把乘數列出來,第i行列左起第i位數,列N次(N為乘數的位數)
第二行起每次右移一位
(1) (1)
    (2) (2)

寫入被乘數,按先列后行的方式
(1,3) (1,4)
      (2,3) (2,4)

將()內的數兩乘
(1,3=3) (1,4=4)
        (2,3=6) (2,4=8)

相加,注意進位
(1,3=3) (1,4=4)
        (2,3=6) (2,4=8)
-------------------------
     3      10       8
         .         
-------------------------
     4       0       8

12*34=408

再看三位數乘法

123*456=?

第一步:
(1) (1) (1)
    (2) (2) (2)
        (3) (3) (3) 

第二步:
(1,4) (1,5) (1,6)
      (2,4) (2,5) (2,6)
            (3,4) (3,5) (3,6)

第三步:
(1,4= 4) (1,5= 5) (1,6= 6)
         (2,4= 8) (2,5=10) (2,6=12)
                  (3,4=12) (3,5=15) (3,6=18)

第四步:
(1,4= 4) (1,5= 5) (1,6= 6)
         (2,4= 8) (2,5=10) (2,6=12)
                  (3,4=12) (3,5=15) (3,6=18)
----------------------------------------------
      4       13       28       27       18
           .        .        .        .
----------------------------------------------
      5        6        0        8        8

123*456=56088

    分析一下每一位的值是如何計算出來的,以下說的位都是從個位算起:
結果的第i位,是乘數的第i位乘以被乘數的1位,再加上乘數的第i-1位乘
以被乘數的第2位,一起加到乘數的第1位乘以被乘數的第i位。這樣描述起
來有點不明白,畫個圖就很清楚了:
123*456的第3位:從乘數的第3位(1)起到第1位(3),按從右向左的方式
逐個乘以被乘數:
1*6+2*5+3*4=28

再把進位加上就可以了。
到這里,已經可以得出一個通用的計算方法,把結果逐位計算出來。