Bài tập vi xử lý có đáp án_HW1

8 3.1K 59
Bài tập vi xử lý có đáp án_HW1

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

Thông tin tài liệu

Bài tập vi xử lý có đáp án_HW1Viện điện tử truyền thôngĐại học Bách Khoa Hà Nội

KHOA ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ TIN HỌC MÔN HỌC: KỸ THUẬT VI XỬ Học kỳ: 2 Năm học: 2009-2010 BÀI GIẢI BÀI TẬP VỀ NHÀ SỐ 1 Bài 1 (10 điểm) Đổi các số thập phân sau đây sang hệ nhị phân, hệ số 8 và hệ 16 a. 23.75 b. 107 Bài giải: Để đổi một số từ hệ thập phân sang hệ số bất kỳ r ta đổi riêng phần nguyên và phần thập phân. Đối với phần nguyên, tiến hành chia số cần đổi cho số r, sau mỗi lần chia ghi lại số dư và tiếp tục chia thương cho r cho đến khi được thương bằng 0, viết số dư theo thứ tự ngược lại sẽ được số cần tìm. Đối với phần thập phân, ta nhân phần thập phân với r, sau mỗi lần nhân ghi lại phần nguyên, tiếp tục nhân phần thập phân với r cho đến khi phần thập phân bằng 0 hoặc đến khi lấy đủ chữ số cần thiết sau dấu phẩy thì dừng lại. Đọc phần nguyên của các phép nhân theo thứ tự xuất hiện ta thu được kết quả cần tìm. a. Đổi 23.75 từ hệ thập phân sang nhị phân: Ta đổi 23 từ hệ thập phân sang nhị phân và đổi 0.75 từ hệ thập phân sang nhị phân theo quy tắc trên: 23 |__2______ 1 11 |__2______ 1 5 |__2______ 1 2 |__2______ 0 1 |__2______ 1 0 => (23) 10 = (10111) 2 0.75 x 2 = 1.5 0.5 x 2 = 1.0 => (0.75) 10 = (0.11) 2 => (23.75) 10 = (10111.11) 2 Đổi 23.75 từ hệ thập phân sang hệ số 8 23 |__8______ 7 2 |__8______ 2 0 0.75 x 8 = 6.0 => (23.75) 10 = (27.6) 8 Đổi 23.75 từ hệ thập phân sang hệ số 16 23 |__16______ 7 1 |__16______ 1 0 0.75 x 16 = 12.0 => (23.75) 10 = (17.C) 16 b. Đổi 107 từ hệ thập phân sang hệ nhị phân, hệ 8 và hệ 16 Tương tự như câu a ta có: (107) 10 =(1101011) 2 (107) 10 = (153) 8 (107) 10 = (6B) 16 Cách 2 : thể tiến hành đổi từ hệ thập phân sang hệ nhị phân, hệ 8 và hệ 16 như sau: a . (23.75) 10 = 2 4 + 2 2 + 2 1 + 2 0 + 2 -1 + 2 -2 => (23.75) 10 = (10111.11) 2 (23.75) 10 = 2*8 1 + 7*8 0 + 6*8 -1 => (23.75) 10 = (27.6) 8 (23.75) 10 = 1*16 1 + 7*16 0 + 12*16 -1 => (23.75) 10 = (17.C) 16 b . (107) 10 = 2 6 + 2 5 + 2 3 + 2 1 + 2 0 => (107) 10 = (1101011) 2 (107) 10 = 1*8 2 + 5*8 1 + 3*8 0 => (107) 10 = (153) 8 (107) 10 = 6*16 1 + 11*16 0 => (107) 10 = (6B) 16 Bài 2 (10 điểm) Đổi các số nhị phân sang hệ thập phân, hệ số 8 và hệ 16 a. 1010110.01 b. 101011.0101 Bài giải: a. (1010110.01) 2 = 2 6 + 2 4 + 2 2 + 2 1 + 2 -2 = (86.25) 10 (1010110.01) 2 = 001 010 110.010 = (126.2) 8 (thay 3 chữ số nhị phân bằng 1 chữ số tương ứng trong hệ 8) (1010110.01) 2 = 0101 0110.0100 = (56.4) 16 (thay 4 chữ số nhị phân bằng 1 chữ số tương ứng trong hệ 16) b. Tương tự như câu a ta có: (101011.0101) 2 = 2 5 + 2 3 + 2 1 + 2 0 + 2 -2 + 2 -4 = (43.3125) 10 (101011.0101) 2 = (53.24) 8 (101011.0101) 2 = (2B.5) 16 Bài 3 (10 điểm) Đổi các số thập phân sau sang số nhị phân 8 bit dấu a. +32 b. -12 c. +100 d. -92 Bài giải: Ta kết quả theo 2 cách biểu diễn số nhị phân dấu như sau:  sign-magnitude. a. (+32) 10 =(00100000) 2 b. (-12 ) 10 =(10001100) 2 c. (+100) 10 =(01100100) 2 d. (-92) 10 =(11011100) 2  Bù hai. a. (+32) 10 =(00100000) 2 b. (+12) 10 = (00001100) 2 Bù 1: 11110011 ( đảo bít ) + 1 Bù 2: 11110100 = (-12) 10 Vậy : (-12) 10 = (11110100) 2 c.(+100) 10 =(01100100) 2 d. (+92) 10 = (01011100) 2 Bù 1: 10100011 ( đảo bít ) + 1 Bù 2: 10100100 = (-92) 10 Vậy : (-92) 10 = (10100100) 2 Bài 4 (20 điểm) Xây dựng lưu đồ thuật toán tính tổng (addition) và hiệu (subtraction) của 2 số nhị phân dấu biểu diễn theo kiểu dấu - độ lớn (sign-magnitude) và biểu diễn theo kiểu số bù hai. So sánh 2 kiểu biểu diễn này. Bài giải: 1. Sign – Magnitude Addition & Subtraction : Ta ký hiệu B1, B2 là hai số hạng và Br là kết quả của phép tính theo kiểu sign-magnitude như sau: B 1 = <s 1 , m 1 > ; B 2 = <s 2 , m 2 > ; B r = <s r , m r > 2 . Bù 2 (Two’s complement) : B 1 ; B 2 ; B r Start Subtraction Start Addition s 2 = s 2 ’ (trừ  cộng với số đối) s 1 = s 2 m 1 < m 2 m 1 >m 2 m r = 0 s r = 0 m r = m 2 -m 1 s r = s 2 m r = m 1 -m 2 s r = s 1 m r = m 1 +m 2 s r = s 1 End Start Subtraction Start Addition B 2 = B 2 ’ + 1 (B 2 ’ là số bù 1 của B 2 ) B r = B 1 + B 2 End Yes Yes Yes So sánh 2 cách biểu diễn số nguyên dấu: Sign - Magnitude Bù 2 Biểu diễn số 0 2 cách biểu diễn số 0: +0 và -0 dụ: Với số 4 bit +0 = 0000 và -0=1000 duy nhất 1 cách biểu diễn số 0 Với số 4 bit: 0=0000 Phạm vi biểu diễn -2 n-1 -1 ÷ + 2 n-1 -1 dụ: Với số 4 bit dấu -7 ÷ + 7 -2 n-1 ÷ + 2 n-1 -1 dụ: Với số 4 bit dấu -8 ÷ + 7 Độ phức tạp của thuật toán tính tổng và hiệu Rất phưc tạp dẫn tới việc thực hiện phép nhân và chia cũng rất phức tạp Đơn giản Bít dấu Bít MSB là bít dấu: 0 là số dương và 1 là số âm Bít MSB là bít dấu: 0 là số dương và 1 là số âm Với những ưu điểm nổi bật, cách biểu diễn số nguyên dấu theo kiểu số bù 2 được sử dụng trong hầu hết các hệ thống số và máy tính. Bài 5 (10 điểm) Biểu diễn các số thập phân sau dưới dạng số dấu phẩy động độ chính xác đơn: a. +1.5 b. -10.625 c. +100.25 Bài giải: a . (+1.5) 10 = (1.1) 2 Sign Bit s = 0 ( số dương ) Normalized Mantissa : 1.1 = 1.1*2 0 Biased Exponent : 0 + 127 = 127 = 01111111 IEEE format : 0 01111111 10000000000000000000000 22 chữ số 0 b . (-10.625) 10 Sign Bit s = 1 (số âm) Mantissa : (10.625) 10 = (1010.101) 2 Normalized Mantissa : 1010.101 = 1.010101*2 3 Biased Exponent : 3+127 = 130 = 10000010 IEEE format : 1 10000010 01010100000000000000000 17 chữ số 0 c . (+100.25) 10 = (1100100.01) 2 Sign Bit s = 0 (số dương) Normalized Mantissa : 1100100.01 = 1.10010001*2 6 Biased Exponent : 6+127 = 133 = 10000101 IEEE format : 0 10000101 10010001000000000000000 15 chữ số 0 Bài 6 (10 điểm) Đổi các số dấu phẩy động độ chính xác đơn sau đây sang số thập phân a. 0 10000000 110000000000000000000000 b. 1 01111111 000000000000000000000000 Bài giải: a . 0 10000000 11000000000000000000000 Sign Bit s = 0 => Số dương Biased Exponent 10000000 = 128 =>Exponent = 128 – 127 = 1 Mantissa : 1.11*2 1 = (11.1) 2 = (3.5) 10 Số cần tìm : (+3.5) b . 1 01111111 00000000000000000000000 Sign Bit s = 1 => Số âm Biased Exponent 01111111 = 127 => Exponent = 127 – 127 = 0 Mantissa : 1*2 0 = 1 Số cần tìm : (-1) Bài 7 (10 điểm) Thưc hiện các phép biến đổi sau: a. (10001001) packed BCD => ( ?) 10 b. (301) 10 =>(?) packed BCD Bài giải: a . (10001001) packed BCD = (89) 10 b . (301) 10 = (001100000001) packed BCD Bài 8 (20 điểm) Tìm trên Internet sơ đồ khối của một thiết bị điện tử sử dụng vi xử lý. Xác định các thành phần của hệ vi xử trên sơ đồ khối đó. dụ: Sơ đồ khối của Iphone 3Gs

Ngày đăng: 11/05/2014, 00:02

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan