Tải bản đầy đủ (.ppt) (67 trang)

Bài giảng Kiến trúc máy tính Chương 2 - ĐH Công Nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (699.22 KB, 67 trang )

Biểu diễn thơng tin
trong máy tính
Trang 1


Nội dung







Các hệ thống số
Biểu diễn số nguyên
Biểu diễn số thực
Biểu diễn ký tự
Biểu diễn các dạng thông tin khác
Biểu diễn chương trình

Trang 2


Các hệ thống số
• Hệ thống số theo phép cộng
– Mỗi ký số có giá trị độc lập khơng lệ thuộc vị trí của ký số.
– Giá trị của con số đuợc tính bằng cách cộng/ trừ giá trị
từng ký số.
– Ví dụ 1: Hệ thống số Hy lạp và La mã
1
2


3
4
5
6
10
11
16

I
II
III
IV
V
VI
X
XI
XVI

20
25
29
50
75
100
500
1000

XX
XXV
XIX

L
LXXV
C
D
M
3


Các hệ thống số
• Ví dụ về số La mã
1.
2.
3.
4.
5.

XXXVI
XL
XVII
DCCLVI
MCMLXIX

• Nhược điểm





Khó biểu diễn và tính tóan với các số lớn
Cần nhiều ký số để biểu diễn các số lớn

Không có số khơng và số âm
Khơng nhất qn về quy tắc. VD số 49 biểu diễn bằng
IL (50-1) hay XLIX (40+9)?
4


Các hệ thống số
• Hệ thống số theo phép cộng (tiếp)
– Ví dụ 2: Hệ Ai cập cổ đại

=?

5


Các hệ thống số
• Hệ thống số theo vị trí
– Mỗi vị trí số có giá trị khác nhau tùy theo cơ số
– Ví dụ: Hệ thập phân
Hàng trăm

Hàng chục

Đơn vị

6

3

8


– Ví dụ: Hệ nhị thập phân Mayan

twenties

Units

twenties

units

2 x 20 + 7 =

47

18 x 20 + 5 = 365

6


Các hệ thống số
• Hệ thống số theo vị trí (tiếp)
– Ví dụ: Hệ thống lục thập phân Babylon

sixties

units

3600s


=64

60s

1s

= 3724
7


Các hệ thống số
• Hệ thống số theo vị trí (tiếp)
– Tính giá trị số: dựa theo cơ số và bậc lũy thừa theo vị trí số.
Dùng n ký số trong hệ cơ số B có thể biểu diễn Bn giá trị
khác nhau
– Ví dụ: hệ thập phân với cơ số B=10
• 123,45= 1x102 + 2x101 + 3x100 + 4x10-1 + 5x10-2

– Tổng quát: Một số ở hệ cơ số B gồm n..-m ký số:
anan-1…a1a0a-1…a-(m-1)a-m
Được tính giá trị theo biểu thức:
 m

 a .B

i

i

i n


8


Các hệ thống số
• Hệ thập phân (decimal)
– Gồm 10 ký số: 0,1,2,3,4,5,6,7,8,9
– Được sử dụng rộng rãi trong đời sống hàng ngày
– Khơng phù hợp với máy tính

• Hệ nhị phân (binary)
– Gồm 2 ký số: 0 và 1
– Mỗi ký số đuợc gọi là bit (binary digit), đơn vị thông
tin nhỏ nhất
– Các bội số : Byte (B), KB, MB, GB, TB, PB, EB,…
– Thích hợp với máy tính
– Khó sử dụng đối với con người
9


Các hệ thống số
• Hệ bát phân (octal)
– Gồm 8 ký số: 0,1,2,3,4,5,6,7
– Là 1 dạng viết gọn của số nhị phân (8=23)
– Sử dụng nhiều trong máy tính và lập trình trước đây

• Hệ thập lục phân (hexa-decimal)
– Gồm 16 ký số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E
và F
– Là 1 dạng viết gọn của số nhị phân (16=24)

– Hiện đang sử dụng rộng rãi trong máy tính và lập trình
10


Các hệ thống số
• Đối
chiếu
giữa các
hệ thống
số

Thập phân

Nhị phân

Bát phân

Thập lục phân

0

0

0

0

1

1


1

1

2

10

2

2

3

11

3

3

4

100

4

4

5


101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8


9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14


C

13

1101

15

D

14

1110

16

E

15

1111

17

F

11



Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số
– Đổi từ số hệ bất kỳ sang hệ thập phân: áp dụng biểu thức
 m

 a .B

i

i

i n

– Ví dụ 1: Đổi số nhị phân 1101001.1011(2) sang thập phân
1101001.1011(2) =
6 5 4 3 2 1 0 -1 -2 -3 -4

= 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
= 105.6875(10)
12


Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ 2: Đổi các số sau ra thập phân
• 264.36(8)
• CAFE.85(16)

– Đổi từ hệ thập phân sang hệ bất kỳ:

• Qui tắc 1: Đổi phần nguyên riêng và đổi phần thập phân
(lẻ) riêng sau đó ghép lại
• Qui tắc 2: Đổi số nguyên hệ thập phân sang hệ B bằng
cách chia liên tiếp số cần đổi cho B và giữ lại số dư cho
đến khi thương số bằng khơng. Số cần tìm là các số dư
viết theo chiều nguợc lại
13


Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Đổi từ hệ thập phân sang hệ bất kỳ:
• Qui tắc 3: Đổi phần thập phân sang số hệ B bằng cách
nhân liên tiếp phần thập phân cho B và giữ lại phần
nguyên cho đến khi tích số bằng 0 (hoặc đã đủ độ chính
xác). Số cần tìm là các ký số nguyên viết theo chiều
thuận

– Ví dụ đổi 105.6875(10) ra số nhị phân
• Đổi phần nguyên 105 ra nhị phân
• Đổi phần thập phân 0.6875 ra nhị phân
• Ghép kết quả lại
14


Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ
• Đổi 105(10) ra nhị phân
105 : 2 = 52 dư 1

52 : 2 = 26 dư 0
26 : 2 = 13 dư 0
13 : 2 = 6 dư 1
6 : 2 = 3 dư 0
3 : 2 = 1 dư 1
1 : 2 = 0 dư 1
Kết quả: 105(10) = 1101001(2)
15


Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ
• Đổi 0.6875(10) ra nhị phân
0.6875 x 2 = 1.375 phần nguyên = 1
0.375 x 2 = 0.75 phần nguyên = 0
0.75 x 2 = 1.5 phần nguyên = 1
0.5
x 2 = 1.0 phần nguyên = 1
• Kết quả : 0.6875(10)= 0.1011(2)

– Ghép lại: 105.6875(10) = 1101001.1011(2)
16


Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Đổi từ hệ nhị phân sang hệ bát phân và nguợc lại
• Qui tắc: ghép 3 ký số nhị phân đổi ra 1 ký số bát phân (hoặc
nguợc lại).


– Đổi từ hệ nhị phân sang hệ thập lục phân và ngược lại
• Qui tắc: ghép 4 ký số nhị phân đổi ra 1 ký số thập lục phân
(hoặc nguợc lại).

– Ví dụ:
• B3(16) = 1011 0011(2)
• 10 110 011(2) = 263(8)

– Đổi giữa bát phân sang thập lục phân và ngược lại
• Qui tắc: Đổi sang 1 hệ trung gian (thường là nhị phân như ví
17
dụ trên)


Biểu diễn số ngun
• Số ngun khơng dấu
– Ngun tắc tổng quát: Dùng n bit biểu diễn số
nguyên không dấu A:

an-1an-2…a2a1a0
– Giá trị của A được tính như biểu thức sau:
n 1

A  ai .2

i

i 0


– Dải biểu diễn của A: từ 0 đến 2n–1
18


Biểu diễn số ngun
• Số ngun khơng dấu (tiếp)
– Ví dụ 1. Biểu diễn các số nguyên không dấu sau
đây bằng 8-bit: A = 41 ; B = 150
– Giải:
• A = 41 = 32 + 8 + 1 = 25 + 23 + 20
41 = 0010 1001
• B = 150 = 128 + 16 + 4 + 2 = 27 + 24 + 22 + 21
150 = 1001 0110

19


Biểu diễn số ngun
• Số ngun khơng dấu (tiếp)
– Ví dụ 2. Cho các số nguyên không dấu M, N được
biểu diễn bằng 8-bit như sau:
• M = 0001 0010
• N = 1011 1001
Xác định giá trị của chúng ?
• Giải:
– M = 0001 0010 = 24 + 21 = 16 + 2 = 18
– N = 1011 1001 = 27 + 25 + 24 + 23 + 20
= 128 + 32 + 16 + 8 + 1 = 185
20



Biểu diễn số ngun
• Số ngun khơng dấu (tiếp)
– Với n = 8 bit
0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
...
1111 1111 = 255 Biểu diễn được các giá trị từ 0 đến 255

– Chú ý:
1111 1111
+ 0000 0001
1 0000 0000
Vậy: 255 + 1 = 0 ?
 do tràn nhớ ra ngoài

21


Biểu diễn số ngun
• Số ngun khơng dấu (tiếp)
– Trục số học với n = 8 bit

– Với n=16 bit
• Dải biểu diễn
0 đến 65.535 (0 – 216-1)

– Với n=32 bit : 0 đến 232-1

– Với n=64 bit : 0 đến 264-1

22


Biểu diễn số ngun
• Số ngun có dấu
– Qui tắc 1: Dùng 1 bit
cao nhất làm bit dấu, các
bit còn lại biểu diễn như
số khơng dấu
• Bit dấu = 0 : số dương
• Bit dấu = 1 : số âm

– Ví dụ số 4 bit
• 1 bit dấu
• 3 bit số nguyên
• Dải biểu diễn -7 … +7

Thập
phân

Nhị
phân

Thập
phân

Nhị
phân


+0

0000

-0

1000

+1

0001

-1

1001

+2

0010

-2

1010

+3

0011

-3


1011

+4

0100

-4

1100

+5

0101

-5

1101

+6

0110

-6

1110

+7

0111


-7

1111
23


Biểu diễn số ngun
• Số ngun có dấu (tiếp)
– Nhược điểm
• Tồn tại 2 số 0: +0 và -0
• Kết quả tính tóan khơng chính xác
• Ví dụ : tính (+4) + (-2)
+4 0100
-2 1010
+2 1110 (-6)  kết quả ra -6 chứ không phải +2

– Cách khắc phục: Dùng số bù 2

24


Biểu diễn số ngun
• Số ngun có dấu (tiếp)
– Qui tắc 2: Dùng số bù 2 (two’s-complement) để
biểu diễn số âm.
• [Số bù 2] = [Số bù 1] + 1
• Số bù 1 tính bằng cách đảo các bit 1  0 và 0  1
• Ví dụ tìm số bù 2 của +2






Số +2
:
Số bù 1
:
Công thêm 1:
Số bù 2
:

0010
1101 (đảo các bit)
+ 1
1110
25


×