35
CẤU TRÚC MÁY TÍNH COMPUTER ARCHITECTURE Chương 2 : Biểu diễn dữ liệu trên máy tính

Chuong 2 Bieu Dien Du Lieu Tren May Tinh

  • Upload
    vbook

  • View
    1.349

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

CẤU TRÚC MÁY TÍNHCOMPUTER ARCHITECTURE

Chương 2 : Biểu diễn dữ liệu trên máy tính

Page 2: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Mục tiêu bài học

Mô tả hệ thống dữ liệu số trong máy tính Giải thích hệ đếm thập phân, hệ bát phân, và hệ thập

lục phân Chuyển một số từ hệ đếm này sang hệ đếm khác. Giải thích sự biểu diễn dữ liệu Giải thích sự lưu trữ dữ liệu Các phép toán nhị phân

Page 3: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Các hệ thống số

Hệ thống số La mã – các số được biểu diễn theo kiểu tích lũy, như: I cho 1, II cho 2, III cho 3.

Hệ thống số Ả rập – giá trị các ký hiệu tùy thuộc vào vị trí mà nó chiếm giữ, chẳng hạn hệ số thập phân.

Page 4: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ Thập Phân

Trong hệ đếm thập phân, vị trí các số từ phải qua trái đại diện cho hàng đơn vị, chục, trăm, ngàn,…

(3 * 100) + (6*10) + (5*1) = 365 Vị trí của số quyết định giá trị của nó. Người ta gọi những loại hệ đếm này là

hệ đếm theo vị trí (positional number system).

Page 5: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ Thập Phân (tiếp theo)

Giá trị của mỗi ký số trong một hệ đếm được xác định bởi:– Bản thân ký số đó– Vị trí của ký số đó trong dãy số.– Cơ số của hệ đếm.

Cơ số (Base)

Vị trí số

(6*10)

Page 6: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ Nhị Phân

Hệ nhị phân dựa trên 2 cơ số, ký số gồm 0 và 1. Trong hệ đếm này, do có cơ số là 2 nên khi chúng

ta di chuyển sang trái, giá trị của ký số sẽ tăng 2 lần so với số kế trước nó.

Như vậy các giá trị của các vị trí là: 64 32 16 8 4 2 1

Số nhị phân0001111001010111

Ký hiệu bit có gía trị lớn nhất

Ký hiệu bit có giá trị bé nhất

Page 7: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ bát phân

Hệ bát phân có cơ số là 8. Giá trị tăng từ phải qua trái là 1, 8, 64, 512, 4096…

Giá trị thập phân của số 1204 hệ bát phân là:

1204 = (1 * 512) + (2 * 64) + (0 * 8) + (4 * 1) 

= 512 + 128 + 0 + 4 

= 644

Page 8: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ bát phân

Nhị phân Bát phân000 0001 1010 2011 3100             4101 5110             6111             7

Để chuyển đổi một số từ hệ nhị phân sang hệ bát phân và ngược lại, chúng ta phải nhớ bảng chuyển đổi như sau:

Page 9: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ thập lục phân Thập lục phân Thập phân 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15

Page 10: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ thập lục phân (Tiếp theo)

Hệ đếm thập lục phân dựa trên cơ số 16 16 ký hiệu đại diện trong đó có các ký hiệu chữ

cái là A, B, C, D, E và F Biểu diễn hệ thập phân của số A0119 hệ thập

lục phân là:(10 * 65536)+(0 * 4096)+(1 * 256)+( 1 * 16) + ( 9 * 1)= 655360 + 0 + 256 + 16 + 9= 655641

Page 11: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển từ hệ nhị phân sang thập phân <64 <32 <16 <8 <4 <2 <1

Giá trị thập phân của 110100 là:

= (1 * 32 ) + (1 * 16) + (0 * 8) + ( 1 * 4) + ( 0 * 2) + (0 * 1)

= 32 + 16 + 0 + 4 + 0 + 0 = 52

Chuyển từ hệ nhị phân sang thập phân

Page 12: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển từ hệ thập phân sang hệ nhị phân

Chia số thập phân cho cho cơ số của hệ tương đương cần tính.

Ghi phần dư sang một cột và lấy thương số

chia tiếp cho cơ số. Lập lại việc tính toán trên

cho đến khi thương số có giá trị 0. Đọc và ghi phần dư theo trật tự ngược (từ

dưới lên) sẽ cho ta số cần tìm.

Page 13: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chúng ta sẽ chuyển đổi một số hệ thập phân có giá trị là 52 sang số nhị phân tương ứng: 2 |__52 Phần dư

2 |__26 | 0 2 |__13 | 0 2 |__06 | 1 2 |__03 | 0 2 |__01 | 1 2 |__00 | 1

Như vậy số nhị phân tương ứng của số thập phân 52 là 110100

Chuyển hệ thập phân sang nhị phân- Ví dụ

Page 14: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển từ hệ nhị phân sang hệ thập lục phân

Mỗi ký số thập lục phân được đại diện bằng một nhóm 4 ký số nhị phân: Nhị phân Thập lục phân 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F

Page 15: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển từ hệ nhị phân sang hệ thập lục phân

Nhóm số nhị phân thành từng nhóm 4 ký số hướng từ phải sang trái.

Mỗi nhóm 4 ký số nhị phân sẽ được chuyển thành một ký số thập lục phân tương ứng.

Có thể thêm các số 0 vào phía trái nhất nếu cần.

Ví dụ như: Số nhị phân 10101011000010 chuyển thành số thập lục phân là:0010 1010 1100 0010 2 A C 2

Page 16: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển hệ thập lục phân sang hệ nhị phân

Viết ra từng nhóm 4 ký số nhị phân Ví dụ: Số thập lục phân: 191A412C0001 1001 0001 1010 0100 0001 0010 1100

Như vậy, số nhị phân tương ứng là: 11001000110100100000100101100

Các số 0 phía đầu (bên trái) có thể được loại bỏ.

Page 17: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Chuyển từ hệ nhị phân sang hệ bát phân

Số nhị phân sẽ được chia thành nhóm 3 ký số - từ trái sang đối với phần phân số và từ phải sang đối với phần nguyên

Mỗi nhóm có thể được thay thế bằng một ký số bát phân tương ứng.

Có thể thêm số 0 vào bên trái nếu cần

Ví dụ:Số nhị phân:

101010101010100

101 010 101 010 100  5 2 5 2 4

52524 là số bát phân tương ứng với số nhị phân ở trên.

Page 18: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Mỗi ký số bát phân sẽ được thay thế bằng một ‘bộ ba’ (triple) ký số nhị phân tương ứng.Ví dụ:

6 5110 101

Số nhị phân tương ứng của số bát phân 65, là 110101

Chuyền từ hệ bát phân sang hệ nhị phân

Page 19: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Khái niệm nhị phân-- OFF

-- ON

DATA(dạng ký số nhị phân)

Page 20: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Biểu diễn dữ liệu

000111 000111010101 011101000110100101010010 01010 1010101 01001 10010001 001001 0011110 0110100 101010 10010101 101010 1010000

Main(){ printf(“ Hello”);

printf(“We are enjoying a world of alphabetical coding”);

}

Page 21: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Biểu diễn dữ liệu

Máy tính số biểu diễn các ký tự dưới dạng mã nhị phân.

Mã nhị phân được hình thành từ các ký số nhị phân hay các bit.

Mọi ký tự được biểu diễn bằng một chuỗi các số “0” và “1”.

Byte là một chuỗi 8 bit. Hầu hết các máy tính biểu diễn một từ (word) gồm 8

hay 16 bit. Trong những hệ thống máy tính lớn thì số các bit có

thể lên tới 16 hay 32 bit.

Page 22: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Biểu diễn dữ liệu

Khi chúng ta nhập dữ liệu vào máy tính, các tín hiệu từ phím nhấn sẽ được chuyển thành mã ký tự nhị phân.

Mỗi ký tự được truyền tới máy in, màn hình, đĩa lưu trữ đều ở dạng mã nhị phân

Khi thể hiện trên màn hình hoặc khi in dữ liệu, ký tự sẽ được chuyển ngược thành dạng mà người dùng có thể đọc được

Page 23: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Lưu trữ dữ liệu

Dữ liệu được lưu trữ và xử lý trong máy tính dưới dạng nhị phân.

Các ký hiệu 0 và 1 được gọi bit 2 bit sẽ tạo ra 4 kết hợp là: 00, 01, 10, 11. Một chuỗi 8 bit được gọi là 1 byte.

Page 24: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Khi tính toán, số thập phân sẽ được chuyển đổi thành số nhị phân.

Sau khi tính toán xong, kết quả sẽ được chuyển thành số thập phân tương ứng.

Lưu trữ dữ liệu (Tiếp theo)

Page 25: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Hệ thập phân nén (Packed Decimal)

Packed decimal - cơ chế lưu trữ dữ liệu

chiếm ½ không gian giữa mã nhị phân

thuần nhất và mỗi byte cho một ký số. Người ta dùng 4 bit để lưu trữ tất cả 10

ký hiệu hình thành nên hệ thập phân. Mỗi byte sẽ biểu diễn cho 2 ký số thập

phân.

Page 26: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Ví dụ: số 34 sẽ được lưu trữ dưới dạng ký tự như sau:

Byte 1 Byte 200000011 000001003 4

Dùng packed decimal, số 34 sẽ được lưu trữ như sau: Byte 1 0011 0100 3 4

Packed Decimal (tiếp theo)

Page 27: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Phép cộng số học nhị phân

Các nguyên tắc cộng nhị phân cần chú ý: 0 + 0 = 0 0 + 1 = 1 = 1 + 0 1 + 1 = 0, nhớ 1 sang cột kế tiếp bên trái 1 + 1 + 1 = 1, nhớ 1 sang cột kế tiếVí dụ: Nhớ 1 1 1 1

11011 + 111

100010

Page 28: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Phương pháp trừ bù (Complementary Subtraction)

Các bước thực hiện như sau: Tìm phần bù của số trừ Cộng số bị trừ với phần bù của số trừ. Nếu kết quả nhớ 1, thì cộng kết quả

với 1, nếu không thì lấy phần bù của tổng và gắn thêm dấu âm (-).

Page 29: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Tìm phần bù của một số nhị phân bằng việc đảo tất cả các bit của nó.

Ví dụ: Số Phần bù 10001101 01110010 00101010 11010101

Phương pháp trừ bù (tiếp theo)

Page 30: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Ví dụ về một phép trừ:

Ví dụ 1 1010101 - 1001100

Bước 1. Tìm ra phần bù của 1001100 Nó là 0110011

Phương pháp trừ bù (tiếp theo)

Page 31: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Bước 2. cộng số trừ với phần bù nhớ 1110111 1010101

+ 0110011 0001000Do phần nhớ là 1, Cộng phần nhớ 0001000

+ 1 0001001

Phương pháp trừ bù (tiếp theo)

Page 32: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Ví dụ 2: 101100 - 11100101Bước 1. Phần bù của 11100101 là 00011010Bước 2.Nhớ 0111 00101100 +00011010 01000110Bước 3. Do không có phần nhớ, nên lấy phần bù của kết quả thêm vào dấu âm (-)Như vậy kết quả là: -10111001

Phương pháp trừ bù (tiếp theo)

Page 33: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Phép nhân

Nguyên tắc phép nhân: 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1

Ví dụ. 10101 * 11001

10101 x11001 ------- 10101 00000 00000 10101 10101 ----------- 1000001101

Page 34: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Phép chia

1. Bắt đầu từ bên trái của số bị chia.

2. Thực hiện phép trừ số bị chia trừ cho số chia.a) Nếu thực hiện được phép trừ thì đặt 1 vào

thương số và trừ số chia cho số bị chia. Nếu không: đặt 0 vào thương số

b) Di chuyển đến số kế tiếp bên phải của phần còn lại.

3. Thực hiện bước 2 cho đến khi không còn ký số nào ở số bị chia.

Page 35: Chuong 2 Bieu Dien Du Lieu Tren May Tinh

Phép chia

Các điểm cần nhớ đối với phép chia là:0/1 = 01/1 = 1

Ví dụ:

100001 / 110Thì,

0101 (Thương số)________

(Số chia) 110 | 100001 (Số bị chia)110 --- Bước 1

1000 --- Bước 2b 110 --- Bước 2a 100 --- Bước 2b 110 --- Bước 2a 1001 --- Bước 2b 110 --- Bước 2a 11 (Phần còn dư)