PDA

View Full Version : Thuật toán C# cộng trừ nhân chia 2 số cực lớn



aiglevn
28-06-2010, 08:51 PM
Tuy rằng trong cuộc sống và công việc bình thường chúng ta chỉ có nhu cầu tính toán với các số đến hàng tỷ (9 chữ số) hay đến tỷ tỷ (18 chữ số) với phần thập phân cũng chỉ cần chính xác đến 4,5 số là đã nhiều rồi, nhưng trong một số nghành khoa học đòi hỏi sự chính xác cao như khoa học nguyên tử, vũ trụ, .... thì nhu cầu tính toán với những con số lớn hơn nữa với phần thập phân có khi cần chính xác đến vài chục chữ số sau dấu phẩy là hoàn toàn cần thiết. Hoặc đơn giản hơn nó chỉ là một đề bài tập hay bài kiểm tra trong lớp học công nghệ thông tin của bạn.

Cách đây một thời gian tôi đã tìm hiểu và viết ra một chương trình nhỏ có khả năng cộng trừ nhân chia 2 số thập phân cực lớn, thực tế là nó không bị giới hạn về độ lớn của số cần tính toán, có thể là những số có vài chục, vài trăm chữ số, .... Tôi đã test qua nhiều trường hợp và so sánh kết quả với máy tính Calculator của windows đều khớp.

Tư tưởng của thuật toán này là không sử dụng những kiểu dữ liệu số sẵn có của C#, vì tất cả các kiểu dữ liệu này đều bị giới hạn. Thay vào đó, tôi sử dụng kiểu dữ liệu string, sử dụng các hàm xử lý chuỗi để nó có thể tính toán theo đúng những nguyên tắc cộng trừ nhân chia số học.

Download Source code (http://docs.google.com/leaf?id=0B7b3GLd5ZkNmODAyMmUzOTAtZWE2Zi00YjA2LThmN mMtN2ZhYmUzZWE5MTlh&hl=en)

pass giải nén (nếu có) : nghethuatit.com