HC VIN NG N HNG KHOA H THNG

  • Slides: 27
Download presentation
HỌC VIỆN NG N HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ KIẾN TRÚC

HỌC VIỆN NG N HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ KIẾN TRÚC MÁY TÍNH CHƯƠNG 3: BIỂU DIỄN DỮ LIỆU II Hà Nội – 2016

Biểu diễn số thực v Nguyên tắc chung v Chuẩn IEEE 754/85

Biểu diễn số thực v Nguyên tắc chung v Chuẩn IEEE 754/85

Nguyên tắc chung v Một số thực X có thể biểu diễn như sau:

Nguyên tắc chung v Một số thực X có thể biểu diễn như sau: X = (-1)S * M * RE Trong đó: § § S (sign): dấu (0: số dương; 1: số âm) M (mantissa): phần định trị R (radix): cơ số E (exponent): số mũ

VD v X = -1234. 567 = (-1)1 * 1234567 * 10 -3 §

VD v X = -1234. 567 = (-1)1 * 1234567 * 10 -3 § S = 1; M = 1234567 § R = 10; E = -3 v X = 0. 13579 = (-1)0 * 13579 * 10 -5 § S = 0; M = 13579; § R = 10; E = -5

Các phép toán số học X 1 = (-1)S 1 * M 1 *

Các phép toán số học X 1 = (-1)S 1 * M 1 * RE 1 X 2 = (-1)S 2 * M 2 * RE 2 v Phép nhân: X 1 * X 2 = (-1)S 1 S 2 * (M 1*M 2) * RE 1 + E 2 v Phép chia: X 1 / X 2 = (-1)S 1 S 2 * (M 1/M 2) * RE 1 - E 2 v Phép cộng / trừ: X 1 X 2 = RE 1*[(-1)S 1*M 1 (-1)S 2 * M 2*RE 2 - E 1]

Chuẩn IEEE 754/85 v Có 3 dạng: § Dạng đơn (single precision): 32 bit

Chuẩn IEEE 754/85 v Có 3 dạng: § Dạng đơn (single precision): 32 bit § Dạng kép (double precision): 64 bit § Dạng kép mở rộng (double-extended precision): 80 bit v Cả 3 dạng đều có điểm chung: R = 2

Dạng đơn: 32 bit v Khi đó, 1 số thực bất kỳ được biểu

Dạng đơn: 32 bit v Khi đó, 1 số thực bất kỳ được biểu diễn: X = (-1)S * 1, M * 2 E – 127 v Dải giá trị biểu diễn: 2 -127 < X < 2127, hay: 10 -38 < X < 1038

Chuyển đổi IEEE 754/85 (32 bit) v Bước 1: Đổi số thực đó nhị

Chuyển đổi IEEE 754/85 (32 bit) v Bước 1: Đổi số thực đó nhị phân v Bước 2: Chuyển về dạng: ± 1, aa. . . a * 2 b v Bước 3: Xác định các giá trị: § S = 0 nếu số dương; S = 1 nếu số âm § E – 127 = b E = 127 + b nhị phân § M = aa. . . a 00. . . 0 23 bit

Ví dụ chuyển đổi Ví dụ 1: 17, 625 IEEE 754/85 v B 1:

Ví dụ chuyển đổi Ví dụ 1: 17, 625 IEEE 754/85 v B 1: A = 17, 625 = 10001, 101 v B 2: A = 1, 0001101 * 24 v B 3: Ta có: (± 1, aa. . . a * 2 b) § S = 0, vì A > 0 § E – 127 = 4 E = 131 = 1000 0011 § M = 000 1101 0000 A = 0100 0001 1000 1101 0000 = 41 8 D 00 00 H

Ví dụ chuyển đổi v Ví dụ 2: -112, 3125 IEEE 754/85 v B

Ví dụ chuyển đổi v Ví dụ 2: -112, 3125 IEEE 754/85 v B 1: B = -112, 3125 = -1110000, 0101 v B 2: B = -1, 1100000101 * 26 (± 1, aa. . . a * 2 b) v B 3: Ta có: § S = 1, vì B < 0 § E – 127 = 6 E = 133 = 1000 0101 § M = 110 0000 1010 0000 B = 1100 0010 1110 0000 1010 0000 = C 2 E 0 A 0 00 H

Ví dụ chuyển đổi v Ví dụ 3: -19 / 64 IEEE 754/85 v

Ví dụ chuyển đổi v Ví dụ 3: -19 / 64 IEEE 754/85 v B 1: C = -19 / 64 = -19 * (1 / 64) v B 2: C = -10011 * 2 -6 = -1, 0011 * 2 -2 v B 3: Ta có: § S = 1, vì C < 0 § E – 127 = -2 E = 125 = 0111 1100 § M = 001 1000 0000 C = 1011 1110 0001 1000 0000 = BE 18 00 00 H

Ví dụ chuyển đổi v Ví dụ 4: Tìm giá trị số thực: C

Ví dụ chuyển đổi v Ví dụ 4: Tìm giá trị số thực: C 2 0 D 00 00 H v Giải: Ta có: X = C 2 0 D 00 00 H = 1100 0010 0000 1101 0000 § S=1 X<0 § E = 1000 0100 = 132 �E -127 = 5 § M = 000 1101 0000 X = -1, 0001101 * 25 = -100011, 01 = -35, 25

Dạng kép: 64 bit v Khi đó, 1 số thực bất kỳ được biểu

Dạng kép: 64 bit v Khi đó, 1 số thực bất kỳ được biểu diễn: X = (-1)S * 1, M * 2 E – 1023 v Dải giá trị biểu diễn: 2 -1023 < X < 21023, hay: 10 -308 < X < 10308

Dạng kép mở rộng: 80 bit v Khi đó, 1 số thực bất kỳ

Dạng kép mở rộng: 80 bit v Khi đó, 1 số thực bất kỳ được biểu diễn: X = (-1)S * 1, M * 2 E – 16383 v Dải giá trị biểu diễn: 2 -16383 < X < 216383, hay: 10 -4932 < X < 104932

Thực hiện phép toán số dấu phẩy động v X 1 = M 1*

Thực hiện phép toán số dấu phẩy động v X 1 = M 1* RE 1 v X 2 = M 2* RE 2 v Ta có § X 1* X 2 = (M 1* M 2) * R E 1+E 2 § X 1 / X 2 = (M 1 / M 2) * R E 1 -E 2 § X 1 ± X 2 = (M 1*RE 1 -E 2 ± M 2) * RE 2 , với E 2 ≥ E 1

Các khả năng tràn số v Tràn trên số mũ (Exponent Overflow): mũ dương

Các khả năng tràn số v Tràn trên số mũ (Exponent Overflow): mũ dương vượt ra khỏi giá trị cực đại của số mũ dương có thể. ( ∞) v Tràn dưới số mũ (Exponent Underflow): mũ âm vượt ra khỏi giá trị cực đại của số mũ âm có thể ( 0). v Tràn trên phần định trị (Mantissa Overflow): cộng hai phần định trị có cùng dấu, kết quả bị nhớ ra ngoài bit cao nhất. v Tràn dưới phần định trị (Mantissa Underflow): Khi hiệu chỉnh phần định trị, các số bị mất ở bên phải phần định trị

Thuật toán cộng/trừ số dấu phẩy động

Thuật toán cộng/trừ số dấu phẩy động

Các quy ước đặc biệt v E = 0, M = 0 X =

Các quy ước đặc biệt v E = 0, M = 0 X = 0 x 0000 0000 = ± 0 v E = 11. . . 1, M = 0 X = ±∞ x 1111 1000 0000 0000 = ±∞ v E = 11. . . 1, M ≠ 0 X: Na. N (không phải số)

Biểu diễn ký tự v Bộ mã ASCII (American Standard Code for Information Interchange)

Biểu diễn ký tự v Bộ mã ASCII (American Standard Code for Information Interchange) v Bộ mã Unicode

Bộ mã ASCII v Do ANSI (American National Standard Institute) thiết kế v Là

Bộ mã ASCII v Do ANSI (American National Standard Institute) thiết kế v Là bộ mã 8 bit, có thể mã hóa được 28 ký tự, có mã từ 0016 FF 16 , gồm: § 128 ký tự chuẩn, có mã 0016 7 F 16, gồm: • Các ký tự điều khiển: màn hình, máy in, truyền tin. • Các ký tự soạn thảo văn bản § 128 ký tự mở rộng, có mã 8016 FF 16, gồm: • Các ký tự đặc biệt, kẻ khung, tiếng Pháp, . . .

Bộ mã Unicode v Là bộ mã hợp nhất, do các hãng máy tính

Bộ mã Unicode v Là bộ mã hợp nhất, do các hãng máy tính hàng đầu thiết kế v Là bộ mã 16 bit v Là bộ mã đa ngôn ngữ v Có hỗ trợ các ký tự tiếng Việt

Bài tập v Bài 1: Đổi các số sau từ hệ thập phân hệ

Bài tập v Bài 1: Đổi các số sau từ hệ thập phân hệ nhị phân: a) 38; b) 89; c) 292 d) 34, 5; e) 55, 25; f) 46, 3125 v Bài 2: Đổi các số sau từ hệ nhị phân hệ thập phân: a) 1100110; b) 11100111 c) 1011; d) 10001001

v Bài 3: Đổi các số sau từ hệ thập phân hệ thập lục:

v Bài 3: Đổi các số sau từ hệ thập phân hệ thập lục: a) 98; b) 39; c) 215 v Bài 4: Đổi các số sau từ hệ thập lục hệ thập phân: a) AE; b) 113; c) 11 D

Bài tập (biểu diễn số nguyên) v Bài 1: Biểu diễn các số sau

Bài tập (biểu diễn số nguyên) v Bài 1: Biểu diễn các số sau dùng dấu và độ lớn (8 bit): a) +69; b) +105; c) -28; d) -121 v Bài 2: Biểu diễn các số sau dùng dấu và độ lớn (16 bit): a) +109; b) +105; c) -98; d) -131 v Bài 3: Biểu diễn các số sau dùng mã bù 2 (8 bit – không dấu): a) 57; b) 48; c) 98; d) 131

v Bài 4: Biểu diễn các số sau dùng mã bù 2 (8 bit

v Bài 4: Biểu diễn các số sau dùng mã bù 2 (8 bit – có dấu): a) +57; b) +48; c) -98; d) -31 v Bài 5: Biểu diễn các số sau dùng mã bù 2 (16 bit – không dấu): a) 157; b) 108; c) 128; d) 35 v Bài 6: Biểu diễn các số sau dùng mã bù 2 (16 bit – có dấu): a) 137; b) 119; c) -113; d) -53

Bài tập (các phép toán với số nguyên) v Bài 1: Cho biết kết

Bài tập (các phép toán với số nguyên) v Bài 1: Cho biết kết quả khi thực hiện trên máy tính các phép cộng sau (8 bit) và giải thích: a) 56 + 78 (không dấu); b) 121 + 40 (không dấu) c) 68 + 40 (có dấu); d) 67 + (-100) (có dấu) e) 102 + 88 (có dấu); f) (-80) + (-62) (có dấu) v Bài 2: Mô tả quá trình nhân trên máy tính các số 4 bit sau đây: a) 13 * 7; b) 6 * 14; c) 15 * 14 d) (-5) * 3; e) 6 * (-2); f) (-7) * (-4)

Bài tập (biểu diễn số thực) v Bài 1: Biểu diễn các số sau

Bài tập (biểu diễn số thực) v Bài 1: Biểu diễn các số sau theo chuẩn IEEE 754/85 32 bit: a) 78, 25; b) -23, 625; c) 50, 3125 d) -133/128 e) 20, 15 v Bài 2: Có các biểu diễn theo chuẩn IEEE 754/85 sau, xác định giá trị của chúng: a) 41 8 D 00 00 H; b) C 2 96 20 00 H c) 3 E A 0 00 00 H; d) BC 91 00 00 H