Hầu hết các ngôn ngữ có chức năng hoặc thư viện mà làm điều này, thường được gọi là một thư viện bignum (GMP là một tốt nhất.)
Nếu bạn muốn tự mình làm, tôi sẽ làm điều đó theo cùng một cách mà mọi người làm ăn lâu phép nhân trên giấy. Để làm điều này, bạn có thể làm việc với các chuỗi chứa số, hoặc thực hiện nó trong nhị phân bằng cách sử dụng các phép toán bitwise.
Ví dụ:
45
x67
---
315
+270
----
585
Hoặc trong hệ nhị phân:
101
x101
----
101
000
+101
------
11001
Edit: Sau khi thực hiện nó trong hệ nhị phân tôi nhận ra rằng nó sẽ đơn giản hơn nhiều (và nhanh hơn tất nhiên) để mã hóa sử dụng các hoạt động bitwise thay vì các chuỗi chứa các số cơ sở-10. Tôi đã chỉnh sửa ví dụ nhân nhị phân của mình để hiển thị mẫu: cho mỗi bit 1 ở số dưới cùng, thêm số trên cùng, bit dịch chuyển sang trái vị trí của 1 bit lần đến một biến. Cuối cùng, biến đó sẽ chứa sản phẩm.
Để lưu trữ sản phẩm, bạn sẽ phải có hai số 64 bit và tưởng tượng một trong số đó là 64 bit đầu tiên và bit còn lại là 64 bit thứ hai của sản phẩm. Bạn sẽ phải viết mã mang phần bổ sung từ bit 63 của số thứ hai đến bit 0 của số đầu tiên.
Nguồn
2008-10-11 00:00:13
Kiểm tra này> [một thuật toán để nhân các số lớn] (http://www.msccomputerscience.com/2014/08/design -algorithm-to-multiply-of-large.html) – ARJUN