Chƣơng 4 CÀI ĐẶT VÀ THỬ NGHIỆM
4.1. Giới thiệu thƣ viện xử lý số nguyên lớn
Hệ thống thƣ viện số nguyên lớn đƣợc tổ chức thành 2 lớp: Lớp hệ thập phân Nglon10 và lớp hệ 256 (gọi là lớp nhị phân) Nglon. Lớp NgLon10 cung cấp một số phƣơng thức nhập, xuất dữ liệu theo hệ 10 để giúp ngƣời dùng dễ dàng nhập dữ liệu hoặc theo dõi kết quả trung gian trong quá trình xử lý. Để giảm thời gian thực hiện trong các phép toán trên số nguyên lớn, lớp nhị phân lƣu trữ số nguyên lớn theo hệ số 256 (byte). Theo đó, mỗi chữ số của số nguyên lớn có thể đƣợc lƣu trữ trực tiếp trên thanh ghi và sử dụng trực tiếp các phép toán cơ bản đƣợc hỗ trợ bởi các bộ vi xử lý. Vì vậy, các phép toán thực hiện trên số nguyên lớn có tốc độ thực hiện nhanh hơn.
Lớp hệ thập phân NgLon10 có 18 phƣơng thức, lớp nhị phân NgLon có 38 phƣơng thức. Do khuôn khổ hạn chế, nên trong luận văn chỉ trình bày cách thức tổ chức dữ liệu của hệ thống thƣ viện và một số phƣơng thức có thuật toán phức tạp.
4.1.1. Cấu trúc của các lớp
class Nglon10 //lớp hệ thập phân { private: int n; char *a; public: //các phƣơng thức };
class Nglon //lớp hệ nhị phân { private: int m; BYTE *b; public: //các phƣơng thức };
Mỗi lớp gồm hai thuộc tính: Thuộc tính thứ nhất là một số nguyên lƣu trữ độ dài của số. Với số hệ thập phân là số chữ số hệ 10, còn số hệ nhị phân là số byte (thực chất là số chữ số trong hệ 256). Thuộc tính thứ hai là con trỏ trỏ tới vùng nhớ dùng để lƣu trữ các chữ số. Với số hệ thập phân, các chữ số có giá trị từ 0 đến 9, còn số hệ nhị phân các chữ số có giá trị từ 0 đến 255.
4.1.2. Bảng luỹ thừa 2 (bảng h)
Bảng h có kiểu Nglon10 dùng để lƣu trữ giá trị thập phân của 2i, trong đó: h[i].n chứa độ dài của giả trị 2i
h[i].a trỏ tới vùng nhớ chứa các chữ số của 2i Ví dụ:
Bảng 4.1 Dùng để lƣu trữ giá trị thập phân của 2i
Bảng h dùng đề chuyển đổi từ hệ thập phân sang hệ nhị phân và ngƣợc lại. Bảng này chiếm khá nhiều không gian bộ nhớ và nó quyết định độ dài của số nguyên trong hệ thống. Việc nghiên cứu cải tiến sự lƣu trữ của bảng trên có thể làm tăng độ dài của số nguyên trong hệ thống thƣ viên lên đến vài nghìn chữ số.
4.1.3. Sơ đồ hoạt động của hệ thống
Nhận xét: ngƣời sử dụng làm việc thông qua giao diện ở khối đầu tiên và khối cuối cùng, các khối còn lại là hộp đen do hệ thống tự động xử lý.