Bài giảng Tin học đại cương (Phần 1): Chương 2 - TS. Nguyễn Kim Hiếu

24 170 1
Bài giảng Tin học đại cương (Phần 1): Chương 2 - TS. Nguyễn Kim Hiếu

Đ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

Bài giảng Tin học đại cương (Phần 1) - Chương 2: Biểu diễn dữ liệu trong máy tính cung cấp cho người học các kiến thức: Các hệ đếm, biểu diễn dữ liệu và đơn vị đo, biểu diễn số nguyên, phép toán số học với số nguyên, tính toán logic với số nhị phân,... Mời các bạn cùng tham khảo.

Nội dung chương  IT1110 Tin học đại cương   Phần I: Tin học  Chương 2: Biểu diễn liệu máy tính    2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép tốn số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực Các hệ đếm 2.1 Biểu diễn số hệ đếm    Hệ đếm tập hợp ký hiệu quy tắc sử dụng ký hiệu để biểu diễn xác định giá trị số Mỗi hệ đếm có số chữ số/ký số hữu hạn Số lượng chữ số hệ đếm gọi số (base hay radix), ký hiệu b     Hệ thập phân (Decimal System)  người sử dụng Hệ nhị phân (Binary System)  máy tính sử dụng Hệ mười sáu (Hexadecimal System)  dùng để viết gọn cho số nhị phân Hệ bát phân (Octal System) 2.1.1 Hệ đếm số b  2.1.1 Hệ đếm số b Hệ đếm số b (b≥2 nguyên dương) mang tính chất sau:     có b chữ số để thể giá trị số Chữ số nhỏ lớn b-1 giá trị (trọng số) vị trí thứ n số hệ đếm số b lũy thừa n: b n Số dương N(b) hệ đếm số b biểu diễn dạng: đó, số N(b) có n+1 chữ số biểu diễn cho phần nguyên m chữ số biểu diễn cho phần sau dấu phẩy, chuyển đổi qua hệ số 10 sau: N (b )  M (10)  n a b i  m i i N(b) = anan-1 a0,a-1a-2 a-m 2.1.2 Hệ đếm thập phân (Decimal System, b=10)   2.1.2 Hệ đếm thập phân (Decimal System, b=10) Hệ đếm thập phân hay hệ đếm số 10 phát minh người Ả rập cổ, bao gồm 10 chữ số theo ký hiệu sau: 0, 1, 2, 3, 4, 5, 6, 7, 8, Quy tắc tính giá trị hệ đếm đơn vị hàng có giá trị 10 đơn vị hàng kế cận bên phải Ở b=10  Số nguyên dương hệ thập phân biểu diễn tổng số hạng, số hạng tích số với 10 lũy thừa, số mũ lũy thừa tăng thêm đơn vị kể từ số mũ lũy thừa phía bên phải Số mũ lũy thừa hàng đơn vị hệ thập phân 2.1.2 Hệ đếm thập phân (Decimal System, b=10)  2.1.2 Hệ đếm thập phân (Decimal System, b=10)  Ví dụ: Số 5246 biểu diễn sau: 5246 = 5x103 + 2x102 + 4x101 + 6x100 = x 1000 + x 100 + x 10 + x   Thể gọi ký hiệu mở rộng số nguyên 5246 = 5000 + 200 + 40 + Như vậy, số 5246: chữ số số nguyên đại diện cho giá trị đơn vị, chữ số đại diện cho giá trị chục (hàng chục), chữ số đại diện cho giá trị trăm (hàng trăm) chữ số đại diện cho giá trị nghìn (hàng nghìn) Số thực:  254.68 = 2x102 + 5x101 + 4x100 + 6x10-1 + 8x10-2 10 2.1.3 Hệ đếm nhị phân (Binary System, b=2)  2.1.3 Hệ đếm nhị phân (Binary System, b=2) Với số b=2, có hệ đếm nhị phân Đây hệ đếm đơn giản với chữ số Mỗi chữ số nhị phân gọi BIT (viết tắt từ chữ BInary digiT) Ta chuyển đổi số hệ nhị phân sang số hệ thập phân quen thuộc  11 Ví dụ: Số 11101.11(2) tương đương với giá trị thập phân : 12 2.1.5 Hệ đếm thập lục phân (Hexadecimal System, b=16) 2.1.4 Hệ đếm bát phân   Nếu dùng bit biểu diễn giá trị khác : 000, 001, 010, 011, 100, 101, 110, 111 Các trị tương đương với giá trị hệ thập phân 0, 1, 2, 3, 4, 5, 6, Trong hệ bát phân, giá trị vị trí lũy thừa  Ví dụ: 235.64(8)=2x82 + 3x81 + 5x80 + 6x8-1 + 4x8-2 = 157 8125(10) Hệ đếm thập lục phân hệ số b=16, sử dụng bit để biểu diễn chữ số Khi thể dạng hexa-decimal, ta có 16 chữ số gồm 10 chữ số từ đến 9, chữ in A, B, C, D, E, F để biểu diễn giá trị số tương ứng 10, 11, 12, 13, 14, 15 Với hệ thập lục phân, giá trị vị trí lũy thừa 16 13 14 2.1.5 Hệ đếm thập lục phân (Hexadecimal System, b=16) 2.1.6 Chuyển đổi số từ hệ thập phân sang hệ số b  Ví dụ: 34F5C(16)=3x164 + 4x163 + 15x162 + 5x161 + 12x160 = 216294(10)   Đổi phần nguyên từ hệ thập phân sang hệ số b  Ghi chú: Một số ngơn ngữ lập trình quy định viết số hexa phải có chữ H cuối chữ số Ví dụ: Số F viết FH  Đổi phần thập phân từ hệ thập phân sang hệ số b  15 Lấy số nguyên thập phân N (10) chia cho b thương số Kết số chuyển đổi N (b) số dư phép chia viết theo thứ tự ngược lại Lấy phần thập phân N(10) nhân với b phần thập phân tích số Kết số chuyển đổi N(b) số phần nguyên phép nhân viết theo thứ tự tính tốn 16 Đổi từ hệ 10 sang hệ Lưu ý 1: Đổi từ hệ 10 sang hệ    Chuyển đổi phần nguyên phần lẻ riêng Chuyển đổi phần nguyên: cách   Ví dụ: 12 = + = 23 + 22 Kết quả: 12(10) = 1100(2) Phân tích thành tổng số lũy thừa Chia cho thương số dư, sau lại lấy thương chia tiếp cho thương = 0, viết số dư theo thứ tự ngược lại 17 18 Đổi từ hệ 10 sang hệ  Chuyển đổi phần lẻ   Đổi từ hệ 10 sang hệ  Lấy phần lẻ nhân lấy phần nguyên, biểu diễn phần nguyên theo chiều thuận 12.6875(10) = 1100.1011 (2) Ví dụ: 19 20 Lưu ý 2: chuyển đổi nhị phân sang Hexa Đổi từ hệ 10 sang hệ  Bài tập: đổi số 35.375(10) sang hệ Duyệt từ phải sang trái, chia thành nhóm bit, sau thay nhóm bit chữ số Hexa  Ví dụ: 10 00112 = 2316  21 Thập phân  Hexa:  14988  ? 14988 : 16 = 936 dư 12 tức C 936 : 16 = 58 dư 58 : 16 = dư 10 tức A : 16= dư Như vậy, ta có: 14988(10) = 3A8C(16)   23 22 2.1.7 Mệnh đề logic Chuyển đổi thập phân sang Hexa  Mệnh đề logic mệnh đề nhận giá trị : Đúng (TRUE) Sai (FALSE), tương đương với TRUE = FALSE = Qui tắc: TRUE = NOT FALSE FALSE = NOT TRUE Phép toán logic áp dụng cho giá trị TRUE FALSE ứng với tổ hợp AND (và) OR (hoặc) sau: 24 Mệnh đề logic Nội dung chương        2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép toán số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực 25 26 2.2 Biểu diễn liệu máy tính đơn vị đo  Nguyên tắc chung (tiếp)  2.2.1 Nguyên tắc chung   Thông tin liệu mà người hiểu tồn nhiều dạng khác nhau, ví dụ số liệu, ký tự văn bản, âm thanh, hình ảnh,… máy tính thơng tin liệu biểu diễn số nhị phân (chuỗi bit) Để đưa liệu vào cho máy tính, cần phải mã hố dạng nhị phân Với kiểu liệu khác cần có cách mã hố khác Cụ thể:   27 Các liệu dạng số (số nguyên hay số thực) chuyển đổi trực tiếp thành chuỗi số nhị phân theo chuẩn định Các ký tự mã hoá theo mã cụ thể, có nghĩa ký tự tương ứng với chuỗi số nhị phân Các liệu phi số khác âm thanh, hình ảnh nhiều đại lượng vật lý khác muốn đưa vào máy phải số hố (digitalizing) Có thể hiểu cách đơn giản khái niệm số hoá sau: liệu tự nhiên thường trình biến đổi liên tục, để đưa vào máy tính, cần biến đổi sang dãy hữu hạn giá trị số (nguyên hay thực) biểu diễn dạng nhị phân 28 Nguyên tắc chung (tiếp)  Nguyên tắc chung (tiếp)  Với tín hiệu âm thanh, video, hay tín hiệu vật lý khác, qui trình mã hố biểu diễn sau: Tuy liệu máy tính dạng nhị phân, song chất liệu, người ta thường phân liệu thành dạng:   Dạng bản: gồm dạng số (nguyên hay thực) dạng ký tự Số nguyên không dấu biểu diễn theo dạng nhị phân thơng thường, số ngun có dấu theo mã bù hai, số thực theo dạng dấu phảy động Để biểu diễn liệu bản, người ta sử dụng số bit Các bit ghép lại với để tạo thành cụm: cụm bít, cụm 16 bít,… Dạng có cấu trúc: Trên sở liệu bản, máy tính, người ta xây dựng nên liệu có cấu trúc phục vụ cho mục đích sử dụng khác Tuỳ theo cách “ghép” có mảng, tập hợp, xâu, ghi,… 29 30 2.2.2 Đơn vị thông tin   Đơn vị nhỏ để biểu diễn thông tin gọi bit Một bit tương ứng với kiện có trạng thái Ví dụ: Một mạch đèn có trạng thái là:    Đơn vị liệu (tiếp)  Tắt (Off) mạch điện qua công tắc hở Mở (On) mạch điện qua cơng tắc đóng Bit chữ viết tắt BInary digiT Trong tin học, người ta thường sử dụng đơn vị đo lớn sau: Số học nhị phân sử dụng hai ký số để biểu diễn số Vì khả sử dụng hai số nên thị gồm chữ số nhị phân xem đơn vị chứa thông tin nhỏ 31 32 2.3.1 Biểu diễn số nguyên không dấu 2.3 Biểu diễn số nguyên    Số nguyên gồm số nguyên không dấu số nguyên có dấu Về nguyên tắc dùng chuỗi bit để biểu diễn Đối với số nguyên có dấu, người ta sử dụng bit để biểu diễn dấu bit gọi bit dấu  Dạng tổng quát: giả sử dùng n bit để biểu diễn cho số nguyên không dấu A: an-1an-2 a3a2a1a0  Giá trị A tính sau:  Dải biểu diễn A: từ đến 2n - 33 34 Ví dụ: Ví dụ (tiếp) Cho số nguyên không dấu X, Y biểu diễn bit sau: X = 0010 1011 Y = 1001 0110 Xác định giá trị X,Y Giải: X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + + + = 43 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + + = 150  Biểu diễn số nguyên không dấu sau bit: A = 45 B = 156 Giải: A = 45 = 32 + + + = + 23 + 22 + 20  A = 0010 1101 B = 156 = 128 + 16 + + = + 24 + 23 + 22  B = 1001 1100  35 36 Với n = bit  Dải biểu diễn [0, 255] 0000 0000 = 0000 0001 0000 0010 0000 0011 1111 1111 = = = = 255 Biểu diễn số ngun khơng dấu  Trục số học máy tính:  Với n = 16 bit:   dải biểu diễn: [0, 65535] Với n = 32 bit:  dải biểu diễn: [0, 232-1] 37 38 2.3.2 Biểu diễn số nguyên có dấu  Biểu diễn số nguyên có dấu Khái niệm số bù   Số bù số bù 10 (hệ thập phân)     Số bù số bù (hệ nhị phân)  Giả sử có số nguyên có dấu A biểu diễn n chữ số thập phân Số bù A: (10n - 1) – A Số bù 10 A: 10n – A Số bù 10 = số bù +    39 Giả sử có số nguyên nhị phân A biểu diễn = n bit nhị phân Số bù A: (2n - 1) – A Số bù A: 2n – A Số bù = số bù + 40 Biểu diễn số nguyên có dấu số bù Số bù bù (tiếp)  Ví dụ: n = bit, A = 0110 - Số bù 1: 1111 - 0110 1001 Nhận xét: số bù đảo bit 01 Số bù 2: 10000 = số bù +1 0110 1010 Nhận xét: A + số bù nó, bỏ bit ngồi đi, ta 0000  Dùng n bit để biểu diễn số nguyên có dấu:  Với số không âm:  bit an-1 =  bit lại biểu diễn độ lớn số dương  Dạng tổng quát số dương: an-2 a2a1a0  Giá trị số dương:  Dải biểu diễn: [0,2n-1-1] 41 Biểu diễn số nguyên có dấu số bù  Với số âm: biểu diễn số bù số dương tương ứng  bit an-1 =  Dạng tổng quát số âm:1an-2 a2a1a0  Giá trị số âm:  n i A    42 Biểu diễn số nguyên có dấu số bù  Kết hợp lại, ta có dải biểu diễn số nguyên có dấu n bit là:   n2 i A  2 n 1    Dải biểu diễn: [-2n-1, -1] an-1an-2 a2a1a0 [-2n-1, 2n-1 - 1] Công thức tổng quát: n i A   an 1  n 1    43 44 Bài tập Một số ví dụ số ngun có dấu Xác định giá trị số nguyên có dấu bit sau đây: A = 0101 0110 B = 1101 0010 Giải: A = 26 + 24 + 22 + 21 = 64 + 16 + + = +86 B = -27 + 26 + 24 + 21 = -128 + 64 + 16 + = -46   Biểu diễn số nguyên sau với n = bit:    X=+58 Y=-80 Xác định giá trị số nguyên có dấu bit: Z = 1100 1001 45 46 Trường hợp cụ thể  Trường hợp cụ thể Trường hợp bit: biểu diễn giá trị từ -128 đến +127    0000 0000 =  0000 0001 = +1  [-32768, + 32767] Với n = 32 bit: -231 đến 231 – Với n = 64 bit: -263 đến 263 – Chuyển đổi từ byte thành word: số dương thêm bit bên trái +19 = 0001 0011 (8 bit) +19 = 0000 0000 0001 0011 (16 bit)  số âm thêm bit bên trái -19 = 1110 1101 (8 bit) -19 = 1111 1111 1110 1101 (16 bit)  0111 1111 = +127 1000 0000 = -128 1000 0001 = -127 1111 1110 = -2 1111 1111 = -1 Với n = 16 bit, dải biểu diễn: 47 48 Binary Code Decimal Code   Binary Code Decimal Code Dùng bit để mã hóa chữ số thập phân từ đến 00000 10001 81000 91001  350011 0101BCD  610110 0001BCD  10870001 0000 1000 0111 BCD  Cứ chữ số thập phân đơn lẻ mã hóa bit Có tổ hợp không dùng: 1010, 1011, 1100, 1101, 1110, 1111 49 50 Binary Code Decimal Code  Phép cộng số BCD: 35  0011 0101BCD Binary Code Decimal Code Kết đúng, hiệu chỉnh   + 61  +0110 0001BCD 96  + 96  +1001 0110BCD 183  1001 0110BCD 87  1000 0111BCD 0001 1101BCD Hiệu chỉnh: Nhận xét: + hay + vượt nên có nhớ Hiệu chỉnh cách cộng thêm vị trí có nhớ (>9) 0001 1101 Kết sai, phải hiệu chỉnh + 0110 0110  hiệu chỉnh 0001 1000 0011BCD  kết 51 52 Các kiểu lưu trữ số BCD  BCD khơng gói (Unpacked BCD): số BCD bit lưu trữ bit thấp byte Ví dụ: Số 35 lưu trữ: 0011  Nội dung chương   0101  BCD gói (packed BCD): hai số BCD lưu trữ byte Ví dụ: Số 35 lưu trữ: 0011 2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép tốn số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực     0101 53 54 2.4 Các phép toán số học với số nguyên  2.4 Các phép toán số học với số nguyên Phép cộng số nguyên không dấu Y n bit Bộ cộng n-bit Phép cộng số nguyên không dấu  X n bit Cout   Cin  n bit  S 55 Tiến hành cộng bít từ phải qua trái Khi cộng hai số nguyên không dấu n bits ta thu số nguyên không dấu n bits Nếu tổng hai số lớn n-1 tràn số (Cout = 1) kết sai Để tránh tượng này, ta dùng nhiều bit 56 Ví dụ phép cộng số ngun khơng dấu  Phép đảo dấu Với trường hợp bit, tổng nhỏ 255 kết  Phép đảo dấu thực chất lấy bù +37 = 0010 0101 -37 = 1101 1011 bù 1: 1101 1010 bù 1: 0010 0100 +1 +1 bù 2: 1101 1011 = -37 bù 2: 0010 0101 = +37 57 Cộng hai số nguyên có dấu     Cộng hai số ngun có dấu- ví dụ: Khi cộng số ngun có dấu n bit, khơng quan tâm đến bit Cout, kết nhận n bit: Cộng số khác dấu kết Cộng số dấu:  58 dấu kết dấu với số hạng kết kết có dấu ngược lại, có tràn xảy (Overflow) kết bị sai Tràn xảy tổng nằm dải biểu diễn [-(2n-1),+(2n-1 - 1)] (+70) = 0100 0110 +(+42)= 0010 1010 +112 = 0111 0000 = +112 (+97) = 0110 0001 +(-52) = 1100 1100 (vì +52 = 0011 0100) +45 = 0010 1101 = +45 59 60 Nguyên tắc thực phép trừ Cộng hai số ngun có dấu- ví dụ: (+75) = 0100 1011  +(+82)= 0101 0010  +157 = 1001 1101 = -99 Phép trừ hai số nguyên: X-Y = X + (-Y) Nguyên tắc: lấy bù số trừ Y để –Y, sau cộng với số bị trừ X tổng vượt +127  chuyển sang bên âm (-104) = 1001 1000 + (-43) = 1101 0101 (vì +104 = 0110 1000) (vì +43 = 0010 1011) -147 = 0110 1101 = +109  sai không quan tâm âm + âm  dương 61 62 Nhân số nguyên không dấu Nhân số nguyên không dấu  Các tích riêng phần xác định sau:      63 bít số nhân = tích riêng phần = bít số nhân = tích riêng phần = số bị nhân tích riêng phần dịch trái so với tích riêng phần trước Tích = tổng tích riêng phần Nhân số ngun n bit, tích có độ dài 2n bit (khơng tràn) 64 Nhân hai số ngun có dấu     Chia số nguyên không dấu Sử dụng thuật giải nhân hai số nguyên không dấu Bước 1: chuyển đổi số bị nhân số nhân thành số dương tương ứng Bước 2: nhân số dương thuật giải học, tích số dương Bước 3: hiệu chỉnh dấu tích sau:   thừa số ban đầu dấu khơng cần hiệu chỉnh thừa số ban đầu khác dấu ta lấy bù tích kết bước 65 66 Chia số nguyên có dấu    Nội dung chương Bước 1: Chuyển đổi số bị chia số chia thành số dương tương ứng Bước 2: Sử dụng thuật giải chia số nguyên không dấu để chia hai số dương, kết nhận thương Q phần dư R dương Bước 3: Hiệu chỉnh dấu kết sau:     (Lưu ý: phép đảo dấu thực chất phép lấy bù hai) Số bị chia Số chia Thương Số dư  dương dương giữ nguyên giữ nguyên  dương âm đảo dấu giữ nguyên âm dương đảo dấu đảo dấu âm âm giữ nguyên đảo dấu  67 2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép toán số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực 68 2.5 Tính tốn logic với số nhị phân AND OR XOR 0 0 0 1 1 0 1 1 1 2.5 Tính tốn logic với số nhị phân NOT 1 69 70 2.5 Tính tốn logic với số nhị phân 2.5 Tính toán logic với số nhị phân   Thực phép toán logic với số nhị phân: VD: A = 1010 1010 B = 0000 1111 AND Kết số nhị phân thực phép toán logic với cặp bit số nhị phân  Các phép tốn tác động lên cặp bit mà không ảnh hưởng đến bit khác  OR XOR NOT 1010 1010 01010101 0000 1111 11110000 00001010 10101111 10100101 71 Nhận xét: +Phép AND dùng để xoá số bit giữ nguyên số bit lại +Phép OR dùng để thiết lập số bit giữ nguyên số bit khác 72 Nội dung chương        2.6 Biểu diễn ký tự 2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép toán số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực  Nguyên tắc chung: Các ký tự cần chuyển đổi thành chuỗi bit nhị phân gọi mã ký tự  Số bit dùng cho ký tự theo mã khác khác Vd : Bộ mã ASCII dùng bit cho ký tự Bộ mã Unicode dùng 16 bit  73 74 Bộ mã ASCII (American Standard Code for Information Interchange)     Do ANSI (American National Standard Institute) thiết kế http://www.asciitable.com/ ASCII mã dùng để trao đổi thông tin chuẩn Mỹ Lúc đầu dùng bit (128 ký tự) sau mở rộng cho bit biểu diễn 256 ký tự khác máy tính Bộ mã bit  mã hóa cho = 256 kí tự, có mã từ 0016  FF16, bao gồm:   128 kí tự chuẩn có mã từ 0016  7F16 128 kí tự mở rộng có mã từ 80 16  FF16 75 76 Bộ mã ASCII (tiếp)  Bộ mã ASCII (tiếp) 95 kí tự hiển thị được:có mã từ 20 16 ÷ 7E16     95 ký tự hiển thị được:  26 chữ hoa Latin 'A' ÷ 'Z' có mã từ 41 16 ÷ 5A16  26 chữ thường Latin 'a' ÷ 'z' có mã từ 6116 ÷ 7A16    10 chữ số thập phân '0' ÷ '9' có mã từ 30 16 ÷ 3916 Các dấu câu: , ? ! : ; … Các dấu phép toán: + - * / … Một số kí tự thơng dụng: #, $, &, @, Dấu cách (mã 2016) 33 mã điều khiển: mã từ 00 16 ÷ 1F16 7F16 dùng để mã hóa cho chức điều khiển 77 78 Điều khiển định dạng BS Các ký tự mở rộng bảng mã ASCII  Backspace – Lùi lại vị trí Ký tự điều khiển trỏ lùi lại vị trí HT Horizontal Tab – Ký tự điều khiển trỏ dịch khoảng định trước LF Line Feed – Ký tự điều khiển trỏ xuống dòng Được định nghĩa bởi:    Ví dụ:  VT Vertical Tab – Ký tự điều khiển trỏ dịch số dòng FF Form Feed – Ký tự điều khiển trỏ chuyển xuống đầu trang CR Carriage Return – Ký tự điều khiển trỏ đầu dòng hành   79 Nhà chế tạo máy tính Người phát triển phần mềm Bộ mã ký tự mở rộng IBM: dùng máy tính IBM-PC Bộ mã ký tự mở rộng Apple: dùng máy tính Macintosh Các nhà phát triển phần mềm tiếng Việt thay đổi phần để mã hoá cho ký tự riêng chữ Việt, ví dụ mã TCVN 5712 80 Bộ mã Unicode    Nội dung chương Do hãng máy tính hàng đầu thiết kế Là mã 16-bit, Vậy số ký tự biểu diễn (mã hố) 216 Được thiết kế cho đa ngơn ngữ, có tiếng Việt        2.1 Các hệ đếm 2.2 Biểu diễn liệu đơn vị đo 2.3 Biểu diễn số nguyên 2.4 Phép toán số học với số ngun 2.5 Tính tốn logic với số nhị phân 2.6 Biểu diễn ký tự 2.7 Biểu diễn số thực 81 82 2.7 Biểu diễn số thực  2.7.2 Chuẩn IEEE754/85 2.7.1 Nguyên tắc chung   Để biểu diễn số thực, máy tính người ta thường dùng ký pháp dấu phẩy động (Floating Point Number) Tổng quát: số thực X biểu diễn theo kiểu số dấu phẩy động sau:     X = M * RE M phần định trị (Mantissa) R số (Radix) E phần mũ (Exponent)   Cơ số R = Các dạng:     83 32 48 64 80 – – – – bit bit bit bit (4 byte float C) (real Pascal) (8 byte) (10 byte) 84 Các dạng biểu diễn 31 30 S 23 22 Dạng 32 – bit e  m S bit dấu   63 62 S 52 51 e  m e ( bit) mã excess – 127 phần mũ E:   79 S 78 64 63 e   m     trường S nằm bên trái biểu diễn dấu e: mũ m: định trị  85 86 Dạng 32 – bit Các quy ước đặc biệt   Các bit e = 0, bit m = X = 0  2-127 đến 2+127 10-38 đến 10+38 Các bit e = 1, bit m = X =  x111 1111 1000 0000 0000 0000 0000 0000  X =   Dải biểu diễn giá trị  x000 0000 0000 0000 0000 0000 0000 0000  X = 0  E = e – 127 e = phần mũ = -127, e = 127 phần mũ = emax = 255 (8 bit) giá trị 127 gọi độ lệch (bias) m (23 bit) phần lẻ phần định trị M: M=1.m Công thức xác định giá trị số thực: X = (-1)S * 1.m * 2e-127 Dạng 32 – bit  S = 0: số dương S = 1: số âm Các bit e = 1, m có bit = khơng biểu diễn cho số (NaN – Not A Number) 87 -2+127 -2-127 +2-127 +2+127 88 Dạng 32 – bit Ví dụ:  Dạng 32 – bit Ví dụ (tiếp): Xác định giá trị số thực biểu diễn 32 bit sau:   0011 1111 1000 0000 0000 0000 0000 0000 Kết = +1.0 1100 0001 0101 0110 0000 0000 0000 0000    S =  số âm e = 1000 00102 = 130  E = 130 – 127 = Vậy, X= -1.10101100*23 = -1101.011 = -13.375 89 90 Dạng 64 – bit      Dạng 80 – bit S bit dấu e (11 bit): mã excess-1023 phần mũ E  E = e – 1023 m (52 bit): phần lẻ phần định trị M Giá trị số thực: X = (-1)S * 1.m * 2e-1023 Dải giá trị biểu diễn: 10 -308 đến 10+308      91 S bit dấu e (15 bit): mã excess-16383 phần mũ E  E = e – 16383 m (64 bit): phần lẻ phần định trị M Giá trị số thực: X = (-1)S * 1.m * 2e-16383 Dải giá trị biểu diễn: 10 -4932 đến 10+4932 92 Các khả tràn số Thực phép toán số dấu phẩy động    X1 = M1 * RE1 X2 = M2 * RE2 Ta có:       X1 * X2 = (M1 * M2) * RE1+ E2 X1 / X2 = (M1 / M2) * RE1 - E2 X1  X2 = (M1* RE1-E2  M2) * RE2, với E2  E1  Tràn số mũ (Exponent Overflow): mũ dương vượt khỏi giá trị cực đại số mũ dương () Tràn số mũ (Exponent Underflow): mũ âm vượt khỏi giá trị cực đại số mũ âm (0) Tràn phần định trị (Mantissa Overflow): cộng hai phần định trị có dấu, kết bị nhớ bit cao Tràn phần định trị (Mantissa Underflow): Khi hiệu chỉnh phần định trị, số bị bên phải phần định trị 93 Phép cộng phép trừ     94 Hỏi - đáp Kiểm tra số hạng có hay không Hiệu chỉnh phần định trị Cộng trừ phần định trị Chuẩn hóa kết 95 96 ... 1011 = 25 + 23 + 21 + 20 = 32 + + + = 43 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + + = 150  Biểu diễn số nguyên không dấu sau bit: A = 45 B = 156 Giải: A = 45 = 32 + + + = + 23 + 22 + 20 ...   n 2 i A  2 n 1    Dải biểu diễn: [-2 n-1, -1 ] an-1an -2 a2a1a0 [-2 n-1, 2n-1 - 1] Công thức tổng quát: n i A   an 1  n 1    43 44 Bài tập Một số ví dụ số nguyên có dấu Xác định... diễn cho số (NaN – Not A Number) 87 -2 + 127 -2 - 127 + 2- 127 +2+ 127 88 Dạng 32 – bit Ví dụ:  Dạng 32 – bit Ví dụ (tiếp): Xác định giá trị số thực biểu diễn 32 bit sau:   0011 1111 1000 0000 0000

Ngày đăng: 30/01/2020, 13:56

Từ khóa liên quan

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

Tài liệu liên quan