Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
334,7 KB
Nội dung
ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HỒ CHÍ MINH NGÀNH CÔNG NGHỆ THÔNG TIN BÁO CÁO ASSIGNMENT 2.03 Giảng viên Thái Hùng Văn Sinh viên thực Đỗ Quốc Trí 21127556 Nguyễn Khánh Nhân 21127657 Trần Quốc Tuấn 21127199 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Contents I Thuật toán Đổi từ binary sang số không dấu Đổi từ binary sang số thực float double .3 Đổi từ số không dấu sang binary 4 Đổi từ số thực float double sang binary .4 Đổi từ binary sang sign: (an-1an-2…a1a0)b Đổi từ Sign to binary Đổi từ Hexa to Binary: .6 Đổi từ Binary to Hexa II Hướng dẫn sử dụng Các hình nhập liệu Hướng dẫn sử dụng 10 III Phân công tập 13 Đỗ Quốc Trí 13 Nguyễn Khánh Nhân 13 Trần Quốc Tuấn 13 IV Tài liệu tham khảo .14 2|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 I Thuật toán Đổi từ binary sang số khơng dấu - Hàm thực vịng lặp chạy từ kí tự cuối đến chuỗi binary để tính giá trị số không dấu theo công thức: (b hệ số) - Trong trường hợp b = chuỗi nhị phân Đổi từ binary sang số thực float double - Số thực kiểu float lưu bytes (8 bytes với kiểu double) với ý nghĩa tóm tắt sau: bit đầu dấu bits (double: 11 bits) số mũ E mantissa chuẩn hóa (1.f1f2f3…fn*2E) dạng 127 (double: 1023) 23 bits (double: 52 bits) cuối dùng để phần thập phân mantissa (f 1f2f3… fn) - Đầu tiên, hàm kiểm tra xem liệu số âm hay dương xem bit đầu Nếu số âm, số dương - Tiếp theo, hàm lấy bits (double: 11 bits) kế chuyển sang dạng số nguyên không dấu trừ phần 127 (double: 1023) để số mũ thực tế - Ghép thêm ký tự ‘1’ vào đầu dãy bit để thành mantissa chuẩn hóa chạy vịng lặp từ đầu dãy với số mũ tính bước trước số mũ giảm dần đơn vị sau lần lặp đến cuối dãy bit để tính giá trị số thực thỏa công thức: (b = 2) 3|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Đổi từ số không dấu sang binary - Áp dụng cơng thức: (b = 2) - Hàm thực vịng lặp lấy số nguyên truyền vào chia lấy dư cho thêm giá trị vào đầu dãy bit lấy số nguyên truyền vào chia lấy phần nguyên cho (làm tròn xuống giá trị nguyên gần nhất) số nguyên dừng vòng lặp - Cuối hàm thêm bit vào đầu chuỗi đủ số byte kiểu liệu Đổi từ số thực float double sang binary - Số thực âm hay dương, lưu máy tính khác bit đầu dấu Vì vậy, hàm ta ghi bit đầu theo dấu số thực chuyển thành số dương nhằm dễ dàng xử lý - Trước tiên, ta đổi phần nguyên số thực sang dãy binary (thuật tốn chuyển từ số ngun khơng dấu thành dãy bit) lưu vào chuỗi Độ dài chuỗi vị trí dấu chấm động - Sau đó, ta lưu phần thập phân số dạng binary thuật toán đây: Tách phần thập phân khỏi số (Với 1.754 lấy 0.754) Thực vòng lặp phần thập phân đạt đủ số bit: Nhân phần thập phân cho Nếu lớn lưu vào sau dãy bit lấy trừ Ngược lại, nhỏ lưu vào sau dãy bit - Sau có đầy đủ dãy bit thể số thực cần tìm, ta tìm ký tự ‘1’ suy số mũ mantissa chuẩn hóa cơng thức: Số mũ = vị trí dấu chấm động - vị trí bit ‘1’ – 4|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 - Số mũ cộng phần 127 kiểu float (double: 1023) chuyển thành nhị phân để lưu vào dãy bit kết đủ bits đổi với float 11 bits double - Cuối cùng, ta lưu dãy bit từ sau bit vào dãy kết cho đủ 23 bits (float) hay 52 bits (double) có kết cần tìm Đổi từ binary sang sign: (an-1an-2…a1a0)b - Ta xét bit ‘1’ ta xác định chuỗi bits biểu diễn dạng bù số decimal tương ứng số âm - Đầu tiên ta chuyển chuỗi bit dạng bù dạng bù cách lấy trừ Lấy bit a0 -1 trước, a0 = ‘1’ chuỗi bit dạng bù là: (an-1an-2 …a1a0)b Nếu bit a0 = ‘0’ a0 = ‘1’ tiếp tục lấy a1 – 1, ta xét đến gặp bit ‘1’ biết đổi bit thành ‘0’ dừng lại Chuỗi bit có sau q trình chuỗi biểu diễn dạng bù - Sau thực đảo chuỗi bù Nếu bit ‘0’ t chuyển đổi thành ‘1’, bit ‘1’ ta đổi thành ‘0’ Cứ làm với tồn bit chuỗi bit - Cuối đổi chuỗi bit sang dạng decimal theo công thức: - Vì số âm nên kết cuối lấy số decimal ta vừa có nhân thêm -1 - Nếu ‘0’ số dạng decimal cần tìm số dương nên đơn giản ta cần chuyển chuỗi bit decimal theo công thức: Kết số decimal ta vừa có Đổi từ Sign to binary - Nếu số dương ta cần chuyển dạng binary có kết 5|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 - Nếu số âm ta phải thực vài bước: - Đầu tiên ta lấy số đối nó, tức số dương dạng decimal, chuyển dạng binary ta chuỗi bit - Thực đảo bit chuỗi ( cách nêu trên) ta chuỗi bit dạng bù - Lấy chuỗi bit dạng bù cộng thêm Ta lấy bit a0 cộng trước Nếu a0 ‘0’ chuỗi bit (an-1an-2…a11)b Nếu a0 ‘1’ t có a ‘0’, tiếp tục lấy a1 cộng 1, lấy bit ‘0’ chuyển bit thành ‘1’ dừng lại Chuỗi bit cuối biểu diễn bù kết Đổi từ Hexa to Binary: - Ta lấy kí tự chuỗi hexa chuyển Decimal: Nếu kí tự xét 0->9 số Decimal tương ứng 1->9 Nếu kí tự xét A->F số Decimal tương ứng 10->15 - Sau chuyển số Decimal dạng Binary chuỗi bit gồm bit, có bit ta thêm bit vào đầu chuỗi cho đủ bit - Ghép nhóm chuỗi bit lại theo thứ tự tương ứng chuỗi hexa ta có chuỗi Binary cần tìm Đổi từ Binary to Hexa - Đầu tiên ta chia chuỗi bit thành nhóm bit - Tiếp theo, chuyển nhóm bit Decimal tương ứng, sau chuyển số Decimal thành Hexa tương ứng Nếu số Decimal 0->9 Hexa tương ứng 0->9 Nếu Decimal 10->15 Hexa tương ứng A->F - Ghép kí tự Hexa lại theo thứ tự tương ứng với chuỗi Binary ta chuỗi Hexa cần tìm 6|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 II Hướng dẫn sử dụng Các hình nhập liệu - Màn hình hiển thị kiểu liệu chuyển đổi để người dùng lựa chọn: - Màn hình hiển thị lựa chọn hệ số liệu đầu vào (số cần chuyển đổi): 7|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 - Màn hình nhập liệu đầu vào (số cần chuyển đổi): - Màn hình hiển thị kết quả, tùy thuộc vào hệ số người dùng chọn mà kết hiển thị khác Ví dụ như: Nếu người dùng chọn hệ Decimal (hệ 10) kết xuất số hệ Hexedecimal (hệ 16) hệ Binary (hệ nhị phân): Nếu người dùng chọn hệ Binary kết xuất số hệ Hexedecimal hệ Decimal: 8|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Nếu người dùng chọn hệ Hexedecimal kết xuất số hệ Hexedecimal hệ Binary: 9|Page TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Hướng dẫn sử dụng - Đầu tiên, chương trình cho người dùng lựa chọn kiểu liệu: - Sau chọn xong kiểu liệu, người dùng tiếp tục chọn hệ số liệu đầu vào (số cần chuyển đổi): 10 | P a g e TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Kế đến, người dùng nhập liệu đầu vào (số cần chuyển đổi): Sau nhập hết yêu cầu chương trình, kết xuất hình: Ở cuối chương trình, người dùng lựa chọn quay lại MENU để chuyển đổi tiếp cách nhấn phím 1, người dùng muốn kết thúc chương trình nhấn phím 11 | P a g e TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 Lưu ý: nhập giới hạn kiểu liệu, chương trình đưa thơng báo Ví dụ người dùng chọn kiểu liệu Unsigned char hệ số Decimal, sau nhập Input = 300, Input giới han kiểu liệu Unsigned char (0 đến 255) Dưới video hướng dẫn cách sử dụng chương trình: 12 | P a g e TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 III Phân cơng tập Đỗ Quốc Trí - Viết hàm chuyển đổi: Binary to Unsigned (char, short, int) Binary to Double Unsigned to Binary Float to Binary Double to Binary Print bits in 1byte, float, double, format Input validation (kiểm tra liệu đầu vào) Nguyễn Khánh Nhân - Viết hàm chuyển đổi: Binary to Signed (char, short, int) Signed to Binary Hexa to Binary Binary to Hexadecimal - Viết MENU Trần Quốc Tuấn - Viết hàm chuyển đổi Binary to Float - Viết báo cáo 13 | P a g e TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO BÀI TẬP 21CLC02 IV Tài liệu tham khảo - Slide giảng Hệ thống Máy tính giảng viên Thái Hùng Văn - https://bitly.com.vn/sjyhdr 14 | P a g e TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ...BÁO CÁO BÀI TẬP 21CLC02 Contents I Thuật toán Đổi từ binary sang số không dấu Đổi từ binary sang số thực float double .3 Đổi từ số không dấu sang binary ... 4 Đổi từ số thực float double sang binary .4 Đổi từ binary sang sign: (an-1an-2…a1a0)b Đổi từ Sign to binary Đổi từ Hexa to Binary: .6 Đổi từ Binary. .. moi nhat BÁO CÁO BÀI TẬP 21CLC02 I Thuật toán Đổi từ binary sang số khơng dấu - Hàm thực vịng lặp chạy từ kí tự cuối đến chuỗi binary để tính giá trị số khơng dấu theo cơng thức: (b hệ số) - Trong