1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chương trình thực hiện các phép toán trên hệ thập lục phân

55 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 4,62 MB

Nội dung

Tuy nhiên so với hệ nhị phân, hệ thập lục phân có những điểm nổi trội hơn như: + Khả năng biểu diễn đữ liệu một cách ngắn gọn hơn: mỗi chữ số thập lục phân tương đương với 4 chữ số nhị p

Trang 1

———— OST TRUONG DAI HOC DONG THAP

KHOA SU PHAM TOAN - TIN

CHUONG TRINH THUC HIEN CAC PHEP TOAN

TREN HE THAP LUC PHAN

Sinh viên thực hiện:

Trần Thi Cam Ngoc Dang Thi Kim Ngoc Nguyén Huynh Thao Vy

Nguyén Ngoc Mai Thy

Giảng viên hướng dan:

Ths Nguyễn Thị ThPy Linh

NĂM HỌC 2023 - 2024

Trang 2

TRUONG DAI HOC DONG THAP

KHOA SU PHAM TOAN - TIN

CHUONG TRINH THUC HIEN CAC PHEP TOAN

TREN HE THAP LUC PHAN

Sinh viên thực hiện:

Tran Thi Cam Ngoc Dang Thi Kim Ngoc Nguyén Huynh Thao Vy

Nguyễn Ngọc Mai Thy

Giảng viên hướng dẫn:

Ths Nguyễn Thị ThPy Linh

NAM HOC: 2023 - 2024

1

Trang 3

LOI CAM ON Chúng em xin chân thành gửi lời cảm ơn sâu sắc đến cô Nguyễn Thị Thùy Linh đã tạo điều kiện để chúng em thực hiện đề tài nghiên cửu của mình Nhờ sự giúp đỡ, hỗ trợ, trao đổi, góp ý của cô đã giúp chúng em biết cách làm việc khoa học hơn, nâng cao năng lực, bỗ sung nhiều kiến thức chuyên ngành phục vụ cho dự án nghiên cứu cũng như hoàn thiện kỹ năng giao tiếp, kỹ năng tìm hiểu tài liệu

Tuy nhiên đo còn gặp nhiều khó khăn trong quá trình tiếp cận thực tế, hạn chế về kiến thức chuyên môn và kinh nghiệm nên đề tài nghiên cứu không thê tránh khỏi những sai sót Vì vậy, chúng em rat mong được sự góp ý của cô để đề tài được hoàn chỉnh và ứng dụng tốt vào thực tiễn

Chung em xin chan thành cảm ơn./

Trang 4

DANH SANH SINH VIEN NHOM 3

4 0022412543 | Nguyén Ngoc Mai Thy Email: elisa0 1223(@gmail.com DT.0907285187

Trang 5

BANG PHAN CONG CONG VIE YC

Thiết kế file trình chiếu

Dang Thi Kim Ngoc

Nội dung chính chương 3;

GIải các bai tap minh hoa;

Thiết kê file trình chiều

Nguyễn Ngọc Mai Thy

Trang 6

ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN

*Chủ ý: Sai mẫu sẽ không chấm điểm, nộp trể hạn bị trừ 0.5 điễm/Ingày

2.1 Nêu được kết quả chính đạt 05

được của đề tải

2.2 Trình bày có hệ thông, logic

3.2 Hiệu quả, đáp ứng yêu câu 2.0

Ngày nộp: 6/12/2023 Người nộp

Trần Thị Cam Ngoc MUC LUC

Trang 7

DANH MUC THUAT NGU VIET TAT DANH MUC HiNH ANH

Trang 8

CHUONG 1: MO DAU 1.1 Ly do chon dé tai

- Chung ta co thé biét cac phép toan số học hệ thập lục phân là hệ thống biểu diễn

số học trong máy tính và các thiết bị điện tử khác Tuy nhiên so với hệ nhị phân, hệ thập

lục phân có những điểm nổi trội hơn như:

+ Khả năng biểu diễn đữ liệu một cách ngắn gọn hơn: mỗi chữ số thập lục phân tương

đương với 4 chữ số nhị phân (2^4) Do đó, để biểu diễn cùng một giá trị, cần ít "chữ số"

hơn trong hệ thập lục phân so với hệ nhị phân Điều này giúp giảm kích thước đữ liệu và tăng hiệu suất trong một số trường hợp

+ Đối với các ứng dụng đòi hỏi độ chính xác cao: Trong các ứng dụng đòi hỏi độ chính xác cao, như tính toán khoa học, đỗ họa, và mô phỏng, hệ thập lục phân có thể đảm

bảo sự chính xác cao hơn so với hệ nhị phân Điều này là do mỗi chữ số thập lục phân

biéu diễn một khoảng giá trị lớn hơn so với mỗi chữ số nhị phân

+ Chuyến đôi dữ liệu dễ dàng hơn: Khi cần chuyên đôi giữa các hệ thông biêu diễn số khác nhau, hệ thập lục phân thường dễ dàng chuyển đổi hơn do mỗi chữ số thập lục phân

biểu diễn một số lượng lớn g1ả trị so với mỗi chữ số nhị phân

Như vậy có thê thấy, việc thực hiện các phép toán thập lục phân trực tiếp giúp tôi

ưu hóa hiệu suất và tăng tốc quá trình xử lý đữ liệu; giúp đễ đàng chuyền đổi giữa các biểu diễn số học khác nhau; sử dụng phép toán hệ thập lục phân là cần thiết dé triên khai các giải thuật bảo mật mà các hệ thống đòi hỏi Từ những lý do trên chúng em quyết định chọn đề tài nghiên cứu “chương trình thực hiện các phép toán trên hệ thập lục phân ” đề

hiểu rõ cơ chế hoạt động, các khái niệm và thuật toán liên quan để vận dụng vào thực

tiễn

1.2 Mục tiêu nghiên cứu

- Nghiên cứu được thực hiện với ba mục tiêu chính:

+ Lĩnh hội được các kiến thức lý thuyết có liên quan về chương trình các phép toán số

học của hệ thập lục phân

Trang 9

+ Phân tích các bài toán, đưa ra giải thuật đề giải quyết vấn đề của chương trình Cũng

như cách thức cài đặt và chạy một chương trình

+ Đưa ra kết luận và đề xuất cho vẫn đề nghiên cứu

1.3 Phương pháp nghiên cứu

Phương pháp nghiên cứu lý thuyết: chủng em đã sử dụng phương pháp này đề lược khảo các tài liệu có liên quan về các phép toán số học thập lục phân bao gồm: tổng hợp, phân tích tài liệu đề giúp chúng em có cái nhìn tổng quan hơn về đề tài của mình Từ đó vạch ra phương hướng nghiên cứu cụ thể cho đề tài

Phương pháp nghiên cứu phân loại: chủng em sử dụng phương pháp này để phân chia kiến thức nghiên cứu cho từng bài toán theo những tiêu chí nhất định Vận dụng

phương pháp này đề thuận tiện cho việc tìm kiếm, thu thập tài liệu cũng như chọn lọc các tài liệu tìm được Các dữ liệu thu thập được, nhóm sẽ tiễn hành phân loại và sắp xếp theo từng nội dung cụ thể để thuận tiện cho việc phân tích, đánh giá

Phương pháp nghiên cứu phân tích, so sánh: phương pháp này chúng em xem là thao tác quan trọng để tìm ra bản chất của vấn đề nghiên cứu Trong quá trình biên tập phan mềm, chúng em cần dựa trên những phân tích nội dung chương trình, yêu cầu của đề

tài nghiên cứu để có sự lựa chọn, định hướng nội dưng sao cho phù hợp Thao tác so sánh

giúp nhóm chọn lọc được tài liệu tôi ưu, đáng tin cậy đề sử dụng trong phần mềm cũng như so sánh thuật toán nghiên cứu của mình Phương pháp này cũng là khâu quan trọng sau khi tién hanh demo chương trình Chúng em tiến hành phân tích dữ liệu thu được để đánh giá, so sánh và kết luận vẫn đề nghiên cứu

1.4 Tiến trình nghiên cứu

Giai đoạn 1: Chuẩn bị nghiên cứu

Bước L: Chọn đề tài

Bước 2: Thu thập tài liệu

Bước 3: Xác định vấn đề nghiên cứu, bao gồm: đối tượng nghiên cứu, phạm vi nghiên cứu, mục tiêu nghiên cứu, nội dung nghiên cứu và phương pháp nghiên cứu

Trang 10

Bước 4: Lập kế hoạch nghiên cứu và xây dựng đề cương nghiên cửu

Giai đoạn 2: Triển khai thực hiện

Bước l1: Tìm hiểu các phép toán

Bước 2: Giải các bài toán ứng dụng và cài đặt chương trình

Bước 3: Kiểm tra và chỉnh lỗi

Giai đoạn 3: Viết báo cáo kết quả đã thực hiện và đưa ra đề xuất

1.5 Nội dung nghiên cứu

Nghiên cứu chương trình thực hiện các phép toán số học thập lục phân bao gồm: các lý thuyết có liên quan, bài toán, thuật toán về các phép toán số học thập lục phân Rút

ra những kết luận và đề xuất

1.6 Kế hoạch nghiên cứu

whan nhiệm vụ nghiên | + tình nội dung đề tải 7/9 - 12/9

Tìm hiểu tài liệu Chọn lọc được tài liệu 12/9 - 15/9

: | Xác định nội dung nghiên | phạm vi, mục tiêu nội dung 15/9 - 22/9

Lập ke hoach nghiên cựu Xây dựng được dàn ý của

nghiên cứu

Giai đoạn 2: | Giải các bài toán ứng | Vận dụng được kiên thức lý 15/10 - Tnénkhai | dụng và cài đặt chương | thuyết đề ứng dụng vào bài

wR er , 4x: | Khắc phục được lỗi sai của 2/11-

Trang 11

CHUONG 2: NOI DUNG NGHIEN CUU 2.1 Cơ sở lý thuyết và chương trình nghiên cứu

Trong toán học và trong khoa học điện toán, hệ thập lục phân (hay hệ đếm cơ số

16, tiếng Anh: hexadecmal), hoặc chỉ đơn thuần gọi là thập lục, là một hệ đếm có l6 ký

tự, từ 0 đến 9 và A đến F (chữ hoa và chữ thường như nhau) Biêu thị số thập lục phân có

nhiều sự khác biệt so với các hệ nhị phân và thập phân, về kí hiệu và kí dụng

Các phép toán số học đối với hệ thập lục phân vẻ cơ bản là những phép toán logic( công, trừ, nhân, chia)

về các ứng dụng và tiện ích của hệ thập lục phân, giúp người dùng đễ đàng trong chuyên đôi hệ số và xử lý thông tin đầu vào và nhiều tiện ích khác

2.2 Lý thuyết về hệ thập lục phân

Hệ thập lục phân hay còn gọi là “hệ cơ số 16” mô tả một hệ thống đánh số có chứa 16 số liên tiếp làm đơn vị cơ sở (bao gồm cả 0) trước khi thêm một vị trí mới cho số tiếp theo

2.2.1 Lich sử ra đời của hệ thập lục phần

Hệ thống cơ sở thập lục phân hiện nay đã được IBM giới thiệu với thế giới điện toán vào năm 1963 Tiền thân của hệ thập lục phân là hệ thống được sử dụng trong máy tinh Bendix G-I5 Hệ thống này bao gồm các ký tự từ 0 đến 9 và ký tự từ A đến F 2.2.2 Biểu diễn số thập lục phân

Hệ thập lục phân tên tiếng Anh là Hệ thập lục phân, hay còn gọi là hệ 16, là một hệ đêm có 16 ký số 0 đến 9 và A đến F (không phân biệt chữ hoa và chữ thường)

Khác với hệ nhị phân, mỗi số hex trong hệ thập lục phân được thể hiện bằng 4 bịt

Mỗi nhóm bít này đều được quy định giá trị riêng Gia tri này được tính trong khoảng từ

0000 đến 1111 Trong đó các số được biểu dién dưới đạng:

Trang 12

- Dưới đạng In ấn, ký hiệu của hệ thường được chỉ định bởi một hậu tô, chăng hạn

5A316, 5A3SIXTEEN, hoặc 5A3HEX

- Một số ký dụng thường thấy của hệ thập lục phân:

+ Ada và VHDL gói những số thập lục phân dùng gốc của hệ, điểm chí bằng con số biểu đạt góc, chăng hạn "16#5A3#" (Chủ ý: Ada chấp nhận phương thức ký dụng nay cho các hệ, từ nhị phân cho đến thập lục phân, cho cả hai loại sống nguyên (integer) và số thực (real)

+ C và những ngôn ngữ lập trình có ngữ pháp tương ứng (như C++, C#, Java và

Zz A 6699

Javascript) ding tién tố “x” cho các số thap luc phan, chang han “0x5A3” (S6 khéng (0)

Trang 13

dẫn đầu được dùng đề bộ thanh lọc mã (parser) có thê trực tiếp nhậnbiết một con số, trong khi chữ "x" đại biêu cho chữ hexadecimal (thập lục phân))

+ Trong HTML, những ký hiệu hệ thập lục phân cũng được biểu thị với cách dùng chữ “x”: &#x5a3 sẽ tương đương như &#x1443

+ Một vài ngôn ngữ assembly chỉ định thập lục phân bằng cách cho thêm chữ “h” vào đuôi (nếu con số bắt đầu bằng một chữ, đồng thời đứng sau một con số 0, chỉ định rằng nó

là một con số), chăng han "OA3Ch", "5A3h"

2.2.4 Chuyển đổi trong hệ thống đếm

*Hệ thập phân chuyên sang hệ thập luc phan: oct > hex

- Giải thích thuật toán:

+ Bước 1: Thực hiện cho phép chia nguyên của phân tích số cần chuyên cho l6 và

ghi lại kết quả dư thừa

+ Bước 2: Nếu số lượng phép chia khác 0 thì tiếp tục lặp lại bước 1 Ngược lại chuyển qua bước 3

+ Bước 3: Ghi ngược các số dư theo thứ tự ngược lại

e© Ví dụ: thực hiện một số chuyển đổi ví dụ: 923410) = ?qø

Lan 1: 923/16 được 57 dư 11 (tương đương với B trong hexa)

Lần 2: 57/16 được 3 dư 9

Lần 3: 3/16 được 0 dư 3 và dừng lại

Viết các số dư theo chiều ngược lại và được ghi: 39Bh

Trang 14

Hình 2: Sơ đồ thực hiện chuyền đỗi

*Hệ nhị phân chuyên sang hệ thập lục phân: đec —> hex

- Giải thích thuật toán:

+ Bước 1: Nhóm 4 bit từ bên ngoài bên phải của phân số nhị phân

+ Bước 2: Chuyên đổi từng nhóm trên sang số thập lục tương ứng với bảng dưới

Trang 15

2.2.5 Ưu điểm và nhược điểm của hệ thập lục phân

Lưu trữ được nhiều dữ liệu với lượng dữ Thực hiện các phép toán nhân, chia trong liệu lớn; hệ số hex cũng khó hơn so với các hệ

Dé dàng chuyền đổi giữa các giá trị số hơn khác;

tính

Xử lý đầu vào, đầu ra đễ đàng hơn qua

những con số đễ nhớ;

Áp dụng được vào nhiều lĩnh vực như

khoa học máy tính, lập trình, khoa hoc dtr

Bảng: Ưu điểm và nhược điểm của hệ thập lục phân

2.3 Các phép toán của hệ thập lục phân

2.3.1 Phép cộng:

- Phép cộng hệ 16 là phép tính tổng các số trong hệ số 16 Dé tính tông các số hệ

16, ta thực hiện như sau:

+ Bước I: Ghi các số hệ l6 cần tính tổng theo từng cột, bắt đầu từ cột phải nhất + Bước 2: Tính tổng các số ở cột phải nhất Nếu tông lớn hơn hoặc bằng ló, ta trừ

đi 16 và nhớ số I đến vị trí ký số kế tiếp

+ Bước 3: Ghi phần dư (nếu có) vào cột hiện tại

+ Bước 4: Tiếp tục tính tổng các số ở các cột tiếp theo Lặp lại các bước 2 và 3 cho

đến khi tính tông hết các cột

+ Bước 5: Kết quả là các số ghi ở mỗi cột sau khi tính toán xong

Vi du:

Trang 16

Hình 4: Ví dụ của phép cộng trên hệ thập luc phan

2.3.2 Phép trừ

- Phép trừ cũng có thể được thực hiện theo cách tương tự như phép cộng Lưu ý số

mượn là 16 ( Thay vì hệ thập phân thì số mượn là 10 đối với hệ thập lục phân số mượn là

Trang 17

B*D=> 11*13=143 =>143/16= 8 du(15).[143/16

<=> 8*16=128 => 143-128=15=F nho 8]

D*A => 13*10=130 =>130/16= 8 du(2)+ nhớ 8 ở trên =l0=A nhớ 8 [130/16

<=> 8*16=128 =>130-128= 8 dư(2) nhớ 8 ta viết vào kq => 8A4}

Trang 18

+ Hién thi mau sac trén website

+ Xác định địa chỉ bộ nhớ, thường thay la 32 bit OS va 8 ky tu hexadecimal

+ Thiét lập địa chỉ MAC của thiết bị mang

18

Trang 19

xử lý

+ Ứng dụng mã hóa, tạo giá trị hàm số băm ngắn gọn, dễ nhớ

Trang 20

CHUONG 3: THIET KE VA CAI DAT CHUONG TRINH

3.1 Cai dat chuong trinh

Thiết kế và cài đặt thuật toán

3.1.1 Đặt vấn đề cho bài toán

Bài toán 1: cho hai số thập lục phân a,b được nhập từ bàn phím Viết chương trình

Bài toán 2: cho hai số thập lục phân a,b được nhập từ bàn phím Viết chương trình

tính hiệu hai số a,b

Trang 21

Bài toán 4: cho hai số thập lục phân a,b được nhập từ bàn phím Viết chương trình

tính thương hai số a,b

for (=l;i<=m-n;i++) a=0'+a;

Bước 3: đi từ phần tử cuối cùng bên phải rồi cộng từng phân tử từ phải qua trái theo quy

tac:

- _ đôi phân tử của xâu a,b thành hệ thập phân

Trang 22

- tính tông 2 số

- _ nêu tông lớn hơn 16 thì chia 16 được kết quả là số dư k%16, và nhớ k/16 sang trái

- _ đối kết qua sang hé 16

Trang 23

for (=l;i<=n-m;i++) b=0'+b;

if (n<m)

for (=l;i<=m-n;i++) a=0'+a;

Bước 3: đi từ phần tử cuối cùng bên phải rồi ta thực hiện trừ từng phần tử từ phải qua trái theo quy tắc:

đôi phần tử của xâu a,b thành hệ thập phân

xét xem có mượn Ì từ bước trước đó không, nêu có thì trừ vào số trừ 1 don vi

nêu số trừ bé hơn số bị trừ thì ta mượn l là l6 cộng vào số trừ

thực hiện trừ 2 số

đôi kết quả sang hệ l6

lưu xâu hiệu

di chuyên sang trái

Trang 24

Bước 1:Thực hiện nhân 2 số bằng cách nhân lần lượt từng số hạng của b cho a

string nhan(string a, string b){

int lena = a.size();

int lenb = b.size();

Trang 25

tam = doil0sang16(du) + tam;

// cOng cac sd 0 vao dau

int len = ans[ans.size() - 1].sizeQ);

for(int 1 = 0; 1< ans.size() - 1; 1++){

int len_cur = ans[i1].sizeQ);

for(int j =len_cur + 1; j<= len; j++){

Trang 27

}

Bước 2: chia theo quy tắc

+ xét phần tử thứ nhất của số chia a là c, chuyển về đạng thập phân

+ gan m thành chuyến đổi của c từ hệ 16 sang hệ 10

+ nếu m lớn hơn số bi chia thì ta gan lại c=số dư, ngược lại thì thêm phần tử tiếp theo vào €

+ lưu biến kq là thương của những lần chia

string chia(string a, string b)

Ngày đăng: 24/12/2024, 16:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN