Nguyên tắc chung
Trong máy tính mọi dữ liệu đều được biểu diễn bằng số nhị phân.
Văn bản, âm thanh, hình ảnh phải được số hóa (biểu diễn bằng số nhị phân) để có thể lưu trữ và xử lý bằng máy vi tính.
Phần mềm đóng vai trò trung gian để chúng ta có thể sử dụng máy tính một cách hiệu quả, xử lý dữ liệu ở những biểu diễn quen thuộc (số thập phân, chữ viết, hình ảnh, âm thanh, v.v.).
46 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1887 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Tin học đại cương - Chương 2: Biểu diễn dữ liệu trong máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
*IT1110 Tin học đại cươngPhần I: Tin học căn bảnChương 2: Biểu diễn dữ liệu trong máy tínhNguyễn Bá Ngọc*Nội dung chương này2.1. Các hệ đếm2.2. Biểu diễn dữ liệu và đơn vị đo2.3. Biểu diễn số nguyên2.4. Phép toán số học với số nguyên2.5. Tính toán logic với số nhị phân2.6. Biểu diễn ký tự2.7. Biểu diễn số thực*2.2. Biểu diễn dữ liệu trong máy tính và đơn vị đoNguyên tắc chungTrong máy tính mọi dữ liệu đều được biểu diễn bằng số nhị phân.Văn bản, âm thanh, hình ảnh phải được số hóa (biểu diễn bằng số nhị phân) để có thể lưu trữ và xử lý bằng máy vi tính.Phần mềm đóng vai trò trung gian để chúng ta có thể sử dụng máy tính một cách hiệu quả, xử lý dữ liệu ở những biểu diễn quen thuộc (số thập phân, chữ viết, hình ảnh, âm thanh, v.v.).photo.jpgQuá trình số hóa tín hiệu vật lýBộ cảm biến tín hiệu(Sensor)Bộ chuyển đổi tương tự số(AD Converter)Máy tínhTín hiệuvật lýTín hiệu điện liên tụcTín hiệu số*Đơn vị dữ liệuĐơn vị dữ liệu nhỏ nhất là bit. Một bit tương ứng với một sự kiện có 1 trong 2 trạng thái. Ví dụ: Một mạch đèn có 2 trạng thái là: Tắt (Off) khi mạch điện qua công tắc là hở Mở (On) khi mạch điện qua công tắc là đóng *Đơn vị dữ liệu (tiếp)Tên gọiKý hiệuGiá trịByteB8 bitKilobyteKB210BMegabyteMB210KB = 220BGigabyteGB210MB = 230BTerabyteTB210GB = 240BPetabytePB210TB = 250BExabyteEB210PB = 260BZettabyteZB 210EB = 270BYottabyteYB210ZB = 280B*2.3. Biểu diễn số nguyênCó hai biểu diễn nhị phân của số nguyênSố nguyên không dấu (chỉ biểu diễn được số nguyên không âm)Số nguyên có dấu, sử dụng mã bù 2 để biểu diễn số âm*2.3.1. Biểu diễn số nguyên không dấuDạng tổng quát: giả sử dùng n bit để biểu diễn cho một số nguyên không dấu A:an-1an-2...a3a2a1a0Giá trị của A được tính như sau:Dải biểu diễn của A: từ 0 đến 2n - 1 *Ví dụ:Biểu diễn các số nguyên không dấu sau đây bằng 8 bit:A = 45 B = 156Giải:A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 A = 0010 1101B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 B = 1001 1100 *Ví dụ (tiếp)Cho các số nguyên không dấu X, Y được biểu diễn bằng 8 bit như sau: X = 0010 1011 Y = 1001 0110Xác định giá trị của X,Y Giải: X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + 8 + 2 + 1 = 43 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + 4 + 2 = 150*Với n = 8 bitDải biểu diễn là [0, 255] 0000 0000 = 0 0000 0001 = 1 0000 0010 = 2 0000 0011 = 3 ..... 1111 1111 = 255Trục số học máy tính*Biểu diễn số nguyên không dấuVới n = 16 bit:dải biểu diễn: [0, 65 535]Với n = 32 bit:dải biểu diễn: [0, 4 294 967 295]*Số bù 1 và số bù 2 Với 1 số nhị phân A được biểu diễn bằng n bit:Lấy nghịch đảo các bit của A: thu được số bù 1 của A bằng (2n - 1) – ACộng 1 vào số bù 1: thu được số bù 2 của A: 2n – A*Số bù 1 và bù 2 (tiếp)Ví dụ: n = 4 bit, A = 01101111A 01101001-Số bù 1:10000 0110 1010-Số bù 2:Nhận xét: số bù 1 là đảo các bit 0 1Nhận xét: Tổng A + số bù 2 của nó, bỏ bit ngoài cùng, bằng 0= số bù 1 +1*Biểu diễn số nguyên có dấuBiểu diễn số không âm:an-1 = 0, các bit còn lại biểu diễn số đóDạng tổng quát của số không âm: N(2) = 0an-2...a2a1a0Giá trị của số N(2):Miền giá trị: [0, 2n-1-1] *Biểu diễn số nguyên có dấu (1)Biểu diễn số âm: Biểu diễn giá trị tuyệt đối của nóNghịch đảo các bít của kết quả (mã bù 1)Cộng 1 vào mã bù 1 (mã bù 2) – đây cũng là biểu diễn của số âmDạng tổng quát của số âm:an-1 = 1A(2) = 1an-2...a2a1a0Giá trị của số âm:Dải biểu diễn: [-2n-1, -1] *Biểu diễn số nguyên có dấu (2)Kết hợp lại, nếu sử dụng n bit ta có thể biểu diễn số nguyên có dấu trong khoảng: [-2n-1, 2n-1 - 1]Tổng quát: A(2) = an-1an-2...a1a0*Ví dụ biểu diễn số nguyên có dấuXác định giá trị của các số nguyên có dấu 8 bit sau đây: A = 0101 0110 B = 1101 0010Giải:A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86B = -27 + 26 + 24 + 21 = -128 + 64 + 16 + 2 = -46*Bài tậpBiểu diễn các số nguyên sau với n = 8 bit: X=+58Y=-80Xác định giá trị của số nguyên có dấu 8 bit: Z = 1100 1001*Trường hợp cụ thểNếu sử dụng 8 bit có thể biểu diễn các giá trị từ -128 đến +1271000 0000 = -1281000 0001 = -127...............................0000 0000 = 00000 0001 = 1..........................0111 1111 = 127 *Mở rộng dải biểu diễnChuyển đổi từ dạng 8 bit (byte) thành 16 bit (word):Với số không âm thêm 8 bit 0 vào bên trái+19 = 0001 0011 (8 bit)+19 = 0000 0000 0001 0011 (16 bit)Với số âm thêm 8 bit 1 vào bên trái-19 = 1110 1101 (8 bit)-19 = 1111 1111 1110 1101 (16 bit)*Binary Code Decimal CodeDùng 4 bit để mã hóa từng chữ số thập phân từ 0 đến 900000 ..........10001 81000............ 91001Có 6 tổ hợp không dùng: 1010, 1011, 1100, 1101, 1110, 1111*Binary Code Decimal Code350011 0101BCD610110 0001BCD10870001 0000 1000 0111BCDCứ 1 chữ số thập phân đơn lẻ được mã hóa bằng 4 bit*Binary Code Decimal CodePhép cộng số BCD: 87 1000 0111BCD+ 96 +1001 0110BCD 183 1 0001 1101BCD 35 0011 0101BCD+ 61 +0110 0001BCD 96 1001 0110BCDKết quả đúng, không phải hiệu chỉnhKết quả sai, phải hiệu chỉnh*Binary Code Decimal CodeHiệu chỉnh:Nhận xét: 7 + 6 hay 8 + 9 đều vượt 9 nên có nhớ.Hiệu chỉnh bằng cách cộng thêm 6 ở những vị trí có nhớ (>9) 1 0001 1101 + 0110 0110 hiệu chỉnh 0001 1000 0011BCD kết quả đúng *Các kiểu lưu trữ số BCDBCD không gói (Unpacked BCD): mỗi số BCD 4 bit được lưu trữ trong 4 bit thấp của mỗi byte. Ví dụ: Số 35 được lưu trữ:0011010100110101BCD gói (packed BCD): hai số BCD được lưu trữ trong một byte. Ví dụ: Số 35 được lưu trữ:*Nội dung chương này2.1. Các hệ đếm2.2. Biểu diễn dữ liệu và đơn vị đo2.3. Biểu diễn số nguyên2.4. Phép toán số học với số nguyên2.5. Tính toán logic với số nhị phân2.6. Biểu diễn ký tự2.7. Biểu diễn số thực*2.4. Các phép toán số học với số nguyênPhép cộng số nguyên không dấuTiến hành cộng lần lượt từng bít từ phải qua trái.Thực hiện tương tự như trong hệ cơ số 100 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10 (nhớ 1 sang bên trái)Trường hợp tổng của hai số lớn hơn 2n-1 sẽ gây ra tràn số (ngoài dải biểu diễn, Cout = 1), kết quả sẽ là sai.*Ví dụ phép cộng số nguyên không dấuVới trường hợp 8 bit, nếu tổng nhỏ hơn 255 thì kết quả đúng 57 0011 1001+ 34 0010 0010----------------------- 91 0101 1011 209 1101 0001+ 73 0100 1001------------------------ 282 1 0001 1010Bit tràn ra ngoài (Cout)Kết quả sai*Phép đảo dấuPhép đảo dấu thực chất là lấy bù 2+37 = 0010 0101bù 1: 1101 1010 +1bù 2: 1101 1011 = -37-37 = 1101 1011bù 1: 0010 0100 +1bù 2: 0010 0101 = +37*Cộng hai số nguyên có dấu Khi cộng 2 số nguyên có dấu n bit, bỏ qua bit Cout, chúng ta nhận được kết quả n bit:Cộng 2 số khác dấu kết quả luôn đúngCộng 2 số cùng dấu:nếu dấu kết quả cùng dấu với các số hạng thì kết quả là đúng.nếu kết quả có dấu ngược lại thì kết quả bị sai do đã tràn sốKhi tổng nằm ngoài dải biểu diễn sẽ dẫn đến tràn số [-2n-1, 2n-1 - 1]*Cộng hai số nguyên có dấu- ví dụ: (+70) = 0100 0110+(+42)= 0010 1010 +112 = 0111 0000 = +112 (+97) = 0110 0001+(-52) = 1100 1100 (vì +52 = 0011 0100) +45 = 1 0010 1101 = +45 *Cộng hai số nguyên có dấu- ví dụ: (+75) = 0100 1011+(+82)= 0101 0010 +157 = 1001 1101 = -99 tổng vượt +127 tràn số (-104) = 1001 1000 (vì +104 = 0110 1000)+ (-43) = 1101 0101 (vì +43 = 0010 1011) -147 = 1 0110 1101 = +109 sai không quan tâmâm + âm dương*Nguyên tắc thực hiện phép trừPhép trừ hai số nguyên: X-Y = X + (-Y)Nguyên tắc: lấy bù 2 của số trừ Y để được –Y, sau đó cộng với số bị trừ X*Nhân số nguyên không dấu*Nhân số nguyên không dấuThực hiện tương tự như trong hệ cơ số 100 x 0 = 0 0 x 1 = 01 x 0 = 0 1 x 1 = 00 + 0 = 0 0 + 1 = 11 + 0 = 0 1 + 1 = 10 (nhớ 1 sang bên trái)Kết quả nhân 2 số n bit không vượt quá 2n bit*Nhân hai số nguyên có dấuSử dụng thuật giải nhân hai số nguyên không dấuBước 1: lấy trị tuyệt đối của số bị nhân và số nhânNếu bit dấu bằng 0 thì giữ nguyên, ngược lại lấy bù 2Bước 2: nhân 2 giá trị tuyệt đối như các số không dấuBước 3: hiệu chỉnh dấu của tích như sau:nếu 2 thừa số ban đầu cùng dấu thì giữ nguyên kết quảnếu 2 thừa số ban đầu khác dấu thì ta lấy bù 2 của kết quả thu được ở bước 2*Chia số nguyên không dấu*Chia số nguyên có dấuBước 1: Lấy trị tuyệt đối của số bị chia và số chíaBước 2: Sử dụng thuật giải chia số nguyên không dấu để chia các giá trị tuyệt đối, kết quả nhận được là thương Q và phần dư RBước 3: Hiệu chỉnh dấu của kết quả như sau: (Lưu ý: phép đảo dấu thực chất là phép lấy bù hai)Số bị chiaSố chiaThươngSố dưdươngdươnggiữ nguyêngiữ nguyêndươngâmđảo dấugiữ nguyênâmdươngđảo dấuđảo dấuâmâmgiữ nguyênđảo dấu*Nội dung chương này2.1. Các hệ đếm2.2. Biểu diễn dữ liệu và đơn vị đo2.3. Biểu diễn số nguyên2.4. Phép toán số học với số nguyên2.5. Tính toán logic với số nhị phân2.6. Biểu diễn ký tự2.7. Biểu diễn số thực*2.5. Tính toán logic với số nhị phânANDORXOR00000010111001111110*2.5. Tính toán logic với số nhị phânNOT0110*2.5. Tính toán logic với số nhị phânThực hiện các phép toán logic với 2 số nhị phân:Kết quả là 1 số nhị phân khi thực hiện các phép toán logic với từng cặp bit của 2 số nhị phân đóCác phép toán này chỉ tác động lên từng cặp bit mà không ảnh hưởng đến bit khác. *2.5. Tính toán logic với số nhị phânVD: A = 1010 1010 và B = 0000 1111 ANDORXORNOT1010 1010010101010000 111111110000000010101010111110100101Nhận xét: +Phép AND dùng để xoá một số bit và giữ nguyên 1 số bit còn lại. +Phép OR dùng để thiết lập 1 số bit và giữ nguyên 1 số bit khác. *Hỏi - đáp
Các file đính kèm theo tài liệu này:
- phan1_tinhoccanban_chuong2_bieudiendulieutrongmaytinh_part2_9732.ppt