1. Trang chủ
  2. » Giáo án - Bài giảng

kiến trúc máy tính trương văn cường 3 bài tập đáp án chương3 phan 2(floating point) sinhvienzone com

12 147 0

Đ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 12
Dung lượng 453,06 KB

Nội dung

Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Exercise 2: The following table shows decimal numbers a b -1609.5 -938.8125 Write down the binary representation of the decimal number, assuming the IEEE 754 single precision format Write down the binary representation of the decimal number, assuming the IEEE 754 double precision format Answer: a) -1609.5 = -11001001001.12 = -1.110010010011 x 210 Biểu diễn theo độ xác đơn sign = -1 exponent = 10 + 127 = 137 = 100010012 fraction = 110010010011 1 0 0 1 0 0 0 1 0 0 0 0 0 s exponent (8 bits) fraction (23 bits) Biểu diễn theo độ xác kép sign = -1 exponent = 10 + 1023 = 1033 = 100000010012 fraction = 110010010011 1 0 0 0 0 1 0 0 0 1 0 0 0 …0 s Exponent (11 bits) Fraction (52 bits Với 12 bits cao = 110010010011 40 bits thấp lại = tồn bộ) Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 b) -938.8125 = -1110101010.1101 x 20 = -1.1101010101101 x 29 Biểu diễn theo độ xác đơn sign = -1 exponent = + 127 = 136 = 100010002 fraction = 11010101011012 1 0 0 1 1 1 1 0 0 0 0 0 s exponent (8 bits) fraction (23 bits) Biểu diễn theo độ xác kép sign = -1 exponent = + 1023 = 1032 = 100000010002 fraction = 11010101011012 1 0 0 0 0 1 1 1 1 0 0 …0 s Exponent (11 bits) Fraction (52 bits) Với 13 bits cao = 1101010101101 39 bits thấp lại = tồn bộ) Exercise 4: The following table shows decimal numbers a b 5.00736125 x 105 -2.691650390625 x 10-2 Write down the binary representation of the decimal number, assuming the IEEE 754 single precision format Write down the binary representation of the decimal number, assuming the IEEE 754 double precision format Answer: a) 5.00736125 x 105 = 500736.125 = 1111010010000000000.001 = 1.111010010000000000001 x 218 Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Biểu diễn theo độ xác đơn sign = exponent = 18 + 127 = 145 = 100100012 fraction = 1110100100000000000012 0 0 1 1 0 0 0 0 0 0 0 0 s exponent (8 bits) fraction (23 bits) Biểu diễn theo độ xác kép sign = -1 exponent = 18 + 1023 = 1032 = 100000100012 fraction = 1110100100000000000012 0 0 0 111010010000000000001000…0000 s Exponent (11 bits) Fraction (52 bits) với: 21 bits cao =111010010000000000001 31 bits thấp lại b) -2.691650390625 x 10-2 = 0.02691650390625 = 441/214 = 110111001 x 2-14 = 1.10111001 x 2-6 Biểu diễn theo độ xác đơn sign = -1 exponent = -6 + 127 = 121 = 11110012 fraction = 101110012 1 1 0 1 1 0 0 0 0 0 0 0 0 s exponent (8 bits) fraction (23 bits) Biểu diễn theo độ xác kép sign = -1 exponent = -6 + 1023 = 1014 = 11111110012 fraction = 101110012 1 1 1 1 0 1 1 0 0 0 0 0 0 …0 s Exponent (11 bits) Fraction (52 bits) Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 bits cao =10111001 44 bits thấp lại Exercise 5: The following table shows bit patterns expressed in hexademical notation a 0x24A60004 b 0xAFBF0000 What decimal number does the bit pattern represent if it is a two’s complement integer? An unsigned integer? If this bit pattern is placed into the Instruction Register, what MIPS instruction will be executed? What decimal number does the bit pattern represent if it is a floating point number? Use the IEEE 754 standard Answers: Đề cho chuỗi số chữ số biểu diễn hệ 16 (tương ứng với chuỗi 32 bits hệ 2) Nếu 32 bits số nguyên có dấu bù 2, số nào? Nếu khơng dấu, số nào? Nếu chuỗi 32 bits lệnh MIPS lệnh gì? Nếu số dấu chấm động (floating-point) bao nhiêu? Đáp số: a) 0x24A60004 = 0010 0100 1010 0110 0000 0000 0000 0100 Nếu số có dấu dạng bù 2, số tương ứng = 614858756 Nếu số có khơng dấu, số tương ứng = 614858756 b) 0xAFBF0000 = 1010 1111 1011 1111 0000 0000 0000 0000 Nếu số có dấu dạng bù 2, số tương ứng = -1346437120 Nếu số có khơng dấu, số tương ứng = 2948530176 a) 0x24A60004 = 0010 0100 1010 0110 0000 0000 0000 0100 Nếu lệnh assemply, lệnh tương ứng: addiu $6, $5, Hay addiu $a2, $a1, b) 0xAFBF0000 = 1010 1111 1011 1111 0000 0000 0000 0000 Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Nếu lệnh assemply, lệnh tương ứng: sw $31, 0($29) Hay sw $ra, 0($sp) a) 0x24A60004 = 0010 0100 1010 0110 0000 0000 0000 0100 Nếu số floating-point với độ xác đơn 0010010010100110 0000 0000 0000 0100 Bit thứ 31 = 0, bit dấu số floating-point  số floating-point số dương Bit thứ 30 tới 23 = 01001001 = 73(10), phần mũ số floating-point sau cộng thêm 127  số floating-point có số mũ = 73 – 127 = -54 Bit thứ 22 tới = 0100110 0000 0000 0000 0100, phần thập phân floatingpoint  số floating-point = 1.0100110 0000 0000 0000 0100 x 2-54 b) 0xAFBF0000 = 1010 1111 1011 1111 0000 0000 0000 0000 Nếu số floating-point với độ xác đơn  số floating-point = -1.011 1111 x 2-32 Sửa lại thành -1.278 x 103 Exercise 6: The following table shows pairs of decimal numbers Calculate the sum of A and B by hand, assuming that we keep 11 bits of significand and bits of the exponent (Rounding rule: add if the bits to the right of the desired point is larger or equal to 100(2)) Show all the steps Calculate the sum of A and B by hand, assuming A and B are stored in the IEEE754 single precision format Show all the steps Answer: Đề yêu cầu tính tổng A B tay (tức chạy bước) với giả sử số floating-point cho phép dùng 11 bits cho phần significand bits cho phần exponent a) A = -1.278 x 103 = -1278 = -10011111110 = -1.0011111110 x 210 (kiểm tra số floating-point A chuẩn chưa: 10 nằm phạm vi số bits phần mũ Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 phần significand ‘1.0011111110’ 11 bits cho phép  Đúng chuẩn) B = -3.90625 x 10-1 = -0.390625 = -25/26 = -11001 x 2-6 = -1.1001 x 2-2 (kiểm tra số floating-point B chuẩn chưa: -2 nằm phạm vi số bits phần mũ phần significand ‘1.1001’ không vượt 11 bits  Đúng chuẩn) A + B = - (1.0011111110 x 210 + 1.1001 x 2-2) = - (1.0011111110 x 210 + 0.0000000000011001 x 210) = -1.0011111110011001 x 210 Do phần significand phép chứa 11 bits, nên A + B phải làm tròn, phần cắt bỏ 011001(2) > 100(2) nên 1.0011111110011001 ≈ 1.0011111111 Vậy A + B = -1.0011111111 x 210 = -10011111111(2) = 1279 b) A = 2.3109375 x 101 = 23.109375 = 23 + 7/26 = 10111.000111(2) = 1.0111000111 x 24 (kiểm tra số floating-point A chuẩn chưa: nằm phạm vi số bits phần mũ phần significand ‘1.0111000111’ không vượt 11 bits  Đúng chuẩn) B = 6.391601562 x 10-1 = 0.6391601562 = 1309/211 = 10100011101 x 2-11 = 1.0100011101 x 2-1 (kiểm tra số floating-point B chuẩn chưa: -1 nằm phạm vi số bits phần mũ phần significand ‘1.0100011101’ không vượt 11 bits  Đúng chuẩn) A + B = 1.0111000111 x 24 + 1.0100011101 x 2-1 = 1.0111000111 x 24 + 0.000010100011101 x 24 = 1.011110111111101 x 24 Do phần significand phép chứa 11 bits, nên A + B phải làm tròn, phần cắt bỏ 11101(2) > 100(2) nên 1.011110111111101 ≈ 1.0111110000 Vậy A + B = 1.0111110000 x 24 = 23.75(10) Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Đề u cầu tính tổng A B tay (tức chạy bước) với giả sử số floating-point dùng format IEEE độ xác đơn a) A = -1.278 x 103 = -1278 = -10011111110 = -1.0011111110 x 210 (kiểm tra số floating-point A chuẩn chưa: (10 + 127) nằm phạm vi số bits phần mũ phần fraction ‘0011111110’ không vượt 23 bits  Đúng chuẩn) B = -3.90625 x 10-1 = -0.390625 = -25/26 = -11001 x 2-6 = -1.1001 x 2-2 (kiểm tra số floating-point B chuẩn chưa: (-2 + 127) nằm phạm vi số bits phần mũ phần fraction ‘1001’ không vượt 23 bits  Đúng chuẩn) A + B = - (1.0011111110 x 210 + 1.1001 x 2-2) = - (1.0011111110 x 210 + 0.0000000000011001 x 210) = -1.0011111110011001 x 210 Phần fraction chứa 16 bits, không vượt 23 bits IEEE độ xác đơn, nên: Vậy A + B = -1.0011111110011001 x 210 b) A = 2.3109375 x 101 = 23.109375 = 23 + 7/26 = 10111.000111(2) = 1.0111000111 x 24 (kiểm tra số floating-point A chuẩn chưa: (4 + 127) nằm phạm vi số bits phần mũ phần fraction ‘0111000111’ không vượt 23 bits  Đúng chuẩn) B = 6.391601562 x 10-1 = 0.6391601562 = 1309/211 = 10100011101 x 2-11 = 1.0100011101 x 2-1 (kiểm tra số floating-point B chuẩn chưa: (-1+127) nằm phạm vi số bits phần mũ phần fraction ‘0100011101’ không vượt 23 bits  Đúng chuẩn) A + B = 1.0111000111 x 24 + 1.0100011101 x 2-1 = 1.0111000111 x 24 + 0.000010100011101 x 24 = 1.011110111111101 x 24 Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Phần fraction chứa 15 bits, chưa vượt 23 bits nên A + B = 1.011110111111101 x 24 Exercise 7: The following table shows pairs of decimal numbers Calculate A x B by hand, assuming that we keep 11 bits of significand and bits of the exponent (Rounding rule: add if the bits to the right of the desired point is larger or equal to 100(2)) Show all the steps Calculate A x B by hand, assuming A and B are stored in the IEEE-754 single precision format Show all the steps Answer: Đề yêu cầu tính A x B tay (tức chạy bước) với giả sử số floatingpoint cho phép dùng 11 bits cho phần significand bits cho phần exponent a) A = 5.66015625 x 100 = 1.0110101001 x 22 (kiểm tra số floating-point A chuẩn cho phép chưa:  Đúng chuẩn) B = 8.59375 x 100 = 1.0001001100 x 23 (kiểm tra số floating-point B chuẩn cho phép chưa:  Đúng chuẩn) A x B = (1.0110101001 x 22) x (1.0001001100 x 23) Exponent A x B = + = Significand Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Do phần significand phép chứa 11 bits, nên significand A x B phải làm tròn, phần cắt bỏ 1000101100(2) > 100(2) nên 1.10000101001000101100(2) ≈ 1.1000010101 Vậy A x B = 1.1000010101 x 25 b) A = 6.18 x 102 = 618 = 1001101010(2) = 1.001101010 x 29 (kiểm tra số floating-point A chuẩn cho phep chưa:  Đúng chuẩn) B = 5.796875 x 101 = 57.96875 = 1.1100111111 x 25 (kiểm tra số floating-point B chuẩn cho phép chưa:  Đúng chuẩn) A x B = (1.001101010 x 29) x (1.1100111111 x 25) Exponent A x B = + = 14 Significand Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Significand A x B = 10.00101111110000101100  phải chuẩn hóa lại A x B = 10.00101111110000101100 x 214 = 1.000101111110000101100 x 215 Do phần significand phép chứa 11 bits, nên significand A x B phải làm tròn, phần cắt bỏ 10000101100(2) > 100(2) nên 1.000101111110000101100 (2) ≈ 1.0001100000 Vậy A x B = 1.0001100000 x 215 Đề yêu cầu tính A x B tay (tức chạy bước) với giả sử số floatingpoint dùng format IEEE độ xác đơn A = 5.66015625 x 100 = 1.0110101001 x 22 (kiểm tra số floating-point A chuẩn cho phép chưa:  Đúng chuẩn) B = 8.59375 x 100 = 1.0001001100 x 23 (kiểm tra số floating-point B chuẩn cho phép chưa:  Đúng chuẩn) A x B = (1.0110101001 x 22) x (1.0001001100 x 23) Exponent A x B = + = Significand Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page 10 https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Do phần fraction phép chứa 23 bits, nên fraction A x B từ kết thỏa mãn, khơng cần làm tròn Vậy A x B = 1.10000101001000101100 x 25 b) A = 6.18 x 102 = 618 = 1001101010(2) = 1.001101010 x 29 (kiểm tra số floating-point A chuẩn cho phep chưa:  Đúng chuẩn) B = 5.796875 x 101 = 57.96875 = 1.1100111111 x 25 (kiểm tra số floating-point B chuẩn cho phép chưa:  Đúng chuẩn) A x B = (1.001101010 x 29) x (1.1100111111 x 25) Exponent A x B = + = 14 Significand Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page 11 https://fb.com/tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Significand A x B = 10.00101111110000101100  phải chuẩn hóa lại A x B = 10.00101111110000101100 x 214 = 1.000101111110000101100 x 215 Do phần fraction phép chứa 23 bits, nên fraction A x B hop lệ Vậy A x B = 1.000101111110000101100 x 215 Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong.com Page 12 https://fb.com/tailieudientucntt ... CuuDuongThanCong .com Page https://fb .com/ tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 phần significand ‘1.0011111110’ 11 bits cho phép  Đúng chuẩn) B = -3. 90625 x 10-1 = -0 .39 0625... 1.0111110000 x 24 = 23. 75(10) Trình bày: Trần Thị Như Nguyệt CuuDuongThanCong .com Page https://fb .com/ tailieudientucntt Khoa Kỹ thuật Máy tính – Đại học Công Nghệ Thông Tin 2015 Đề yêu cầu tính tổng A... 210 Phần fraction chứa 16 bits, không vượt 23 bits IEEE độ xác đơn, nên: Vậy A + B = -1.0011111110011001 x 210 b) A = 2 .31 0 937 5 x 101 = 23. 10 937 5 = 23 + 7/26 = 10111.000111(2) = 1.0111000111 x

Ngày đăng: 28/01/2020, 23:15

TỪ KHÓA LIÊN QUAN

w