1
KIẾN TRÚC MÁY TÍNH
Chương 2.
BIỂU DIỄN DỮ
LIỆU TRONG MÁY TÍNH
Phan Trung Kiên – ĐH Tây bắc
2
Chương 2.BIỂU DIỄN DỮ
LIỆU TRONG MÁY TÍNH
Thông tin trong máy tính
Các hệ đếm và
các loại mã dùng trong máy
tính
Biểu diễn số
nguyên
Biểu diễn số
thực bằng số
dấu phẩy động
Biểu diễn ký tự
Phan Trung Kiên – ĐH Tây bắc
3
2.1. Thông tin trong máy tính
Phân loại thông tin
Độ
dài từ
Thứ
tự
nhớ
Phan Trung Kiên – ĐH Tây bắc
4
Phân loại thông tin
Dữ
liệu nhân tạo: do con người quy ước
Số
nguyên
Số
thực
Ký tự
Dữ
liệu tự
nhiên: tồn tại khách quan với con
người
Âm thanh
Hình ảnh
Nhiệt độ…
Phan Trung Kiên – ĐH Tây bắc
5
Độ
dài từ
dữ
liệu
Là
số bit được sử
dụng để
mã hóa loại dữ
liệu tương ứng
Trong thực tế thường là
bội của 8 bit: 1, 8,
16, 32, 64 bit …
Phan Trung Kiên – ĐH Tây bắc
6
Thứ
tự
nhớ
Thứ
tự lưu trữ
các byte của từ
dữ
liệu
Bộ
nhớ
chính:
Theo byte
Độ
dài từ
dữ
liệu
Một hoặc nhiều byte
Cần phải biết thứ
tự lưu trữ
các byte của
từ
dữ
liệu trong bộ
nhớ
chính
Phan Trung Kiên – ĐH Tây bắc
7
Lưu trữ
kiểu đầu nhỏ
(little-endian)
Byte có
ý nghĩa thấp hơn được lưu tữ
trong bộ
nhớở
địa chỉ
nhỏ hơn
Ví
dụ: Từ
dữ
liệu 2 byte: 00001111 10101010
Trong bộ
nhớ
Byte1 Byte 0
00001111 10101010
Phan Trung Kiên – ĐH Tây bắc
8
Lưu trữ
kiểu đầu to (big-endian)
Byte có
ý nghĩa thấp hơn được lưu tữ
trong bộ
nhớở
địa chỉ
lớn hơn
Ví
dụ: Từ
dữ
liệu 2 byte: 00001111 10101010
Trong bộ
nhớ
Byte1 Byte 0
0000111110101010
Phan Trung Kiên – ĐH Tây bắc
9
Lưu trữ
của các bộ
xử lý điển hình
Intel 80x86 và
các Pentium: Little-endian
Motorola 680x0 và
các bộ
xử
lý RISC: Big-endian
Power PC và
Itanium: cả
hai (bi-endian)
Phan Trung Kiên – ĐH Tây bắc
10
2.2. Các hệ đếm và
các loại mã dùng trong
máy tính
Hệ
thập phân
Hệ
nhị
phân
Hệ
bát phân
Hệ
thập lục phân
Phan Trung Kiên – ĐH Tây bắc
11
Hệ
thập phân (Decimal System)
Dùng 10 chữ
số
0 9 để
biểu diễn các số
A = a
n
a
n-1
…a
1
a
0.
a
-1
a
-2
…a
-m
Giá
trị
của A
= a
n*
10
n
+ a
n-1*
10
n-1
+ … + a
1*
10
1
+ a
0*
10
0
+ a
-1*
10
-1
+ a
-2*
10
-2
+
…+ a
-m*
10
-m
Ví
dụ: 123.456
Mở
rộng cho cơ số
r bất kỳ
= a
n*
r
n
+ a
n-1*
r
n-1
+ … + a
1*
r
1
+ a
0*
r
0
+ a
-1*
r
-1
+ a
-2*
r
-2
+ … + a
-m*
r
-
m
Một chuỗi n chữ
số
của hệ đếm cơ số
r sẽ
biểu diễn
được r
n
chữ
số.
Phan Trung Kiên – ĐH Tây bắc
12
Hệ
nhị
phân
Sử
dụng 2 chữ
số
0 và 1 để
biểu diễn các số
Chữ
số
nhị
phân gọi là
bit (binary digit) là
đơn vị
thông tin nhỏ
nhất
n bit biểu diễn được n giá
trị
khác nhau.
00…000
……
11…111
Phan Trung Kiên – ĐH Tây bắc
13
Dạng tổng quát của số
nhị
phân
Có
một số
nhị phân A như sau:
A = a
n
a
n-1
a
1
a
0
.a
-1
a
-m
Giá
trị
của A được tính như sau:
A = a
n
2
n
+ a
n-1
2
n-1
+ + a
0
2
0
+ a
-1
2
-1
+
+ a
-m
2
-m
Phan Trung Kiên – ĐH Tây bắc
14
Ví
dụ:
Phan Trung Kiên – ĐH Tây bắc
15
Chuyển đổi từ
dạng thập phân sang nhị
phân
Phương pháp 1: chia dần cho 2 rồi lấy phần
dư
Phương pháp 2: phân tích thành tổng của
các số
2
i
nhanh hơn
Phan Trung Kiên – ĐH Tây bắc
16
Phương pháp chia dần cho 2
Ví
dụ: chuyển đổi 105
(10)
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)
Phan Trung Kiên – ĐH Tây bắc
17
Phương pháp phân tích thành tổng của
các 2
i
Ví
dụ
1: chuyển đổi 105
(10)
105 = 64 + 32 + 8 + 1 = 26 + 25 + 23 + 20
Kết quả: 105
(10)
= 1101001
(2)
Phan Trung Kiên – ĐH Tây bắc
18
Chuyển số
lẻ
thập phân sang nhị
phân
Ví
dụ
1: chuyển đổi 0.6875
(10)
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)
Phan Trung Kiên – ĐH Tây bắc
19
Chuyển số
lẻ
thập phân sang nhị
phân
Ví
dụ
2: chuyển đổi 0.81
(10)
0.81 x 2 = 1.62 phần nguyên = 1
0.62 x 2 = 1.24 phần nguyên = 1
0.24 x 2 = 0.48 phần nguyên = 0
0.48 x 2 = 0.96 phần nguyên = 0
0.96 x 2 = 1.92 phần nguyên = 1
0.92 x 2 = 1.84 phần nguyên = 1
0.84 x 2 = 1.68 phần nguyên = 1
Kết quả: 0.81
(10)
~ 0.1100111
(2)
Phan Trung Kiên – ĐH Tây bắc
20
Chuyển số
lẻ
thập phân sang nhị
phân
Ví
dụ
3: chuyển đổi 0.2(10)
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
Kết quả: 0.2
(10)
~ 0.00110011
(2)
Phan Trung Kiên – ĐH Tây bắc
21
Hệ
bát phân (octal)
Dùng 8 chữ
số
0 7 để
biểu diễn các số
3 chữ
số
nhị
phân ứng với 1 chữ
số
octal
Ví
dụ:
Số
nhị
phân: 011 010 111
Số
octal:
327
Phan Trung Kiên – ĐH Tây bắc
22
Số
thập lục phân (Hexa)
Dùng 10 chữ
số
09 và
6 chữ
cái
A,B,C,D,E,F để
biểu diễn các số.
Dùng để
viết gọn cho số
nhị
phân: cứ
một
nhóm 4 bit sẽ được thay thế
bằng 1 chữ
số
Hexa
Phan Trung Kiên – ĐH Tây bắc
23
Quan hệ
giữa số
nhị
phân và
số
Hexa
Ví
dụ
chuyển đổi số
nhị
phân
số
Hexa:
0000 0000
2
= 00
16
1011 0011
2
= B3
16
0010 1101 1001 1010
2
= 2D9A
16
1111 1111 1111 1111
2
= FFFF
16
Phan Trung Kiên – ĐH Tây bắc
24
2.3. Biểu diễn số
nguyên
Số
nguyên không dấu
Số
nguyên có
dấu
Mã BCD
Phan Trung Kiên – ĐH Tây bắc
25
Số
nguyên không dấu (Unsigned Integer)
Biểu diễn số
nguyên không dấu:
Nguyên tắc tổng quát: Dùng n bit biểu diễn số
nguyên không dấu A: a
n-1
a
n-2
… a
2
a
1
a
0
Giá
trị
của A được tính như sau:
A = a
n
2
n
+ a
n-1
2
n-1
+ + a
0
2
0
Dải biểu diễn của A: từ 0 đến 2
n
-1