Assignment 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN


KHOA CÔNG NGHỆ THÔNG TIN

ASSIGNMENT 1
INTEGER ARITHMETIC

Giáo viên hướng dẫn:

Thầy Lê Quốc Hòa

THÔNG TIN SINH VIÊN


MSSV Họ và tên
21120275 Huỳnh Cao Khôi

HỆ THỐNG MÁY TÍNH - 21_3


Hồ Chí Minh, ngày 8 tháng 3 năm 2023

1
Mục lục

1 Thông tin bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


2 Program output (Unit test) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Kiểm tra giá trị đầu vào hợp lệ . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Kiểm tra phép toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Đánh giá tổng quan bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Đánh giá tỉ lệ hoàn thành bài tập . . . . . . . . . . . . . . . . . . . . . . . . 9

2
1 Thông tin bài tập
Bài tập yêu cầu thực hiện các phép chuyển đổi số giữa hệ nhị phân và hệ thập phần, đồng thời
thực phép toán +, - , *, /, % trên các số nhị phân sử dụng các toán tử trên bit.
Bài tập trên được em thực hiện trên công cụ Visual Studio 2022, với ngôn ngữ C++ version
C++20
Bài toán được em thực hiện với dữ liệu đầu vào nằm trong khoảng [-128; 127] là khoảng có thể
thể hiện được của số nhị phân 8 bit.

2 Program output (Unit test)

2.1 Kiểm tra giá trị đầu vào hợp lệ


Giá trị đầu vào được yêu cầu nằm trong khoảng [-128; 127], nếu vượt ngoài phạm vi cho phép,
người dùng sẽ được yêu cầu nhập lại.

2.2 Kiểm tra phép toán


Test 1: Trường hợp A = -128 và B = -128.

3
Với trường hợp này, phép cộng sẽ cho ra kết quả không chính xác do phạm vi kết quả vượt
ngoài 8 bit.

Test 2: Trường hợp A hoặc B là -128.

4
Với trường hợp trên, phép trừ sẽ cho ra kết quả không chính xác do phạm vi kết quả vượt
ngoài 8 bit

Trong hai test case trên, trong trường hợp số B là -128, mặc dù em đã cài đặt đúng thuật toán
đã được thể hiện trong slide, nhưng kết quả vẫn bị đảo dấu, em vẫn chưa hiểu được lý do dẫn đến
kết quả sai.
Để giải quyết cấn đề trên, em đã xử lý riêng trường hợp nếu B = -128 thì kết quả sẽ được đổi
lại dấu

Test 3: Trường hợp A hoặc B bằng 0

5
Trong trường hợp này, mẫu số bằng 0 do đó phép chia không thực hiện được.

Test 4: Trường hợp A < 0, B > 0

6
Test 5: Trường hợp A > 0, B < 0

Test 6: Trường hợp A < 0, B < 0

7
Test 7: Trường hợp A > 0, B > 0

8
3 Tổng kết

3.1 Đánh giá tổng quan bài tập


Bài tập đã được em thực hiên tương đối hoàn chỉnh, những kết quả bị tràn số sẽ được in ra
không chính xác do giảng viên không yêu cầu xử lý vấn đề tràn số trong bài làm
Với một số trường hợp đặc biệt như các giá trị tại biên cũng đã được xử lý, tuy có phần không
được tốt cho lắm

3.2 Đánh giá tỉ lệ hoàn thành bài tập


Dựa vào những yêu cầu em đã hoàn thành, do vẫn còn nhiều vấn đề chưa hiểu rõ toàn bộ, em
xin tự đánh giá em đã hoàn thành 90 - 95 % yêu cầu bài tập.

You might also like