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

CHƯƠNG 2 BIỂU DIỄN DỮ LIỆU pptx

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 (208.61 KB, 45 trang )

CHƯƠNG 2
BIỂU DIỄN DỮ LIỆU
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
2 / 50
NỘI DUNG
I. Thông tin và sự mã hóa thông tin
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
3 / 50
Thông tin và sự mã hóa thông tin
Khái niệm thông tin
Khái niệm về thông
tin gắn liền với sự hiểu biết
một trạng thái cho sẵn trong
nhiều trạng thái có thể có vào
một thời điểm cho trước.
Thông tin về 2 trạng thái có ý nghĩa của hiệu điện thế

BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
4 / 50
Thông tin và sự mã hóa thông tin

Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit
I = Log2(N)
I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có

Lượng thông tin có được là bao nhiêu khi biết được một trong 8 trạng thái?
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
5 / 50
Thông tin và sự mã hóa thông tin



Mã hóa dữ liệu

Nguyên tắc chung

Mọi dữ liệu đưa vào máy tính đều phải được mã hoá
thành số nhị phân

Các loại dữ liệu:

Dữ liệu nhân tạo: do con người quy ước

Dữ liệu tự nhiên: tồn tại khách quan với con người

Mã hoá dữ liệu nhân tạo:

Dữ liệu dạng số: mã hoá theo chuẩn quy ước

Dữ liệu ký tự: mã hoá theo bộ mã ký tự
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
6 / 50
Thông tin và sự mã hóa thông tin

Mã hóa dữ liệu:

Mã hoá và tái tạo tín hiệu tự nhiên
ADC
DAC
TH số
TH số

TH Ltục
TH Ltục
TH V.lý
TH V.lý
MT
Bộ tạo
tín hiệu
Bộ tái tạo
tín hiệu
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
7 / 50
Biểu diễn các số

Khái niệm hệ thống số:
Cơ sở của một hệ thống số định nghĩa phạm vi các giá trị của một chữ số

Dạng biểu diễn tổng quát giá trị của một số

Biểu diễn số 541.23410?
i
n
mi
ik
kbV


−=
=
1
V

k
: số cần biểu diễn giá trị
m: Stt của chữ số phần lẻ (từ -1 đến -m)
n-1: Stt của chữ số phần nguyên(từ 0- n-1)
b
i
: giá trị của chữ số thứ I
k: hệ đếm
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
8 / 50
Chuyển đổi giữa các hệ đếm

Hệ đếm cơ số 10 sang hệ đếm cơ số 2

Hệ đếm cơ số 2 sang hệ đếm cơ số 10

Hệ đếm cơ số 16 sang hệ đếm cơ số 2

Hệ đếm cơ số 2 sang hệ đếm cơ số 16
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
9 / 50
Chuyển đổi giữa các hệ đếm

Phương pháp biến đổi một số thập phân sang số nhị phân

23.37510=????2

23.37510=10111.0112

23.2210=????2


1011 1001.101(2)=
185.625
(10)
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
10 / 50
Biểu diễn số nguyên

Số nguyên không dấu (unsigned integer)

Số nguyên có dấu (signed integer)
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
11 / 50
Số nguyên không dấu

Nguyên tắc chung

Dùng n chữ số nhị phân thì biểu diễn được 2
n
số

Dải biểu diễn: 0 ÷ 2
n
- 1

Ví dụ:

n = 8 bit: dải biểu diễn:

n = 16 bit: dải biểu diễn:


Cách biểu diễn

Biểu diễn ở dạng nhị phân một cách bình thường
0 ÷ 2
8 -1
, hay 0 ÷ 255
0 ÷ 2
16 - 1
, hay 0 ÷ 65535
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
12 / 50
Số nguyên không dấu

Ví dụ: biểu diễn các số nguyên không dấu sau đây dùng 8 bit:
A = 73 ; B = 138

Giải:
A = 73 = 0100 1001
B = 138 = 1000 1010
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
13 / 50
Số nguyên không dấu

Ví dụ 2: Hãy xác định giá trị của các số nguyên không dấu C, D được biểu diễn bằng 8 bit như sau:
C = 0010 1010; D = 1010 0110

Giải:
C = 0010 1010 = 42
D = 1010 0110 = 166

BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
14 / 50
Số nguyên có dấu

Nguyên tắc chung

Dùng n chữ số nhị phân thì biểu diễn được 2
n
số

Dải biểu diễn: - 2
n-1
÷ 2
n-1
– 1

Ví dụ:

n = 8 bit: dải biểu diễn:

n = 16 bit:

Cách biểu diễn:

PP1: Dùng dấu và độ lớn (Sign-Magnitude)

PP2: Dùng mã bù 1 (One’s complement)

PP3: Dùng mã bù 2 (Two’s complement)
- 2

7
÷ 2
7
-1, hay -128 ÷ 127
- 2
15
÷ 2
15
-1 , hay - 32768 ÷ 32767
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
15 / 50
Số nguyên có dấu

Dùng dấu và độ lớn

Bit lớn nhất biểu diễn dấu:

0: biểu diễn số dương

1: biểu diễn số âm

Các bit còn lại biểu diễn giá trị

Trong cách này, bit d
n-1
là bit dấu và các bit từ d
0
tới d
n-2
cho giá trị

tuyệt đối. Một từ n bit tương ứng với số nguyên thập phân có dấu.
i
n
i
i
d
dN
n
2)1(
2
0
1


=

−=
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
16 / 50
Số nguyên có dấu

Một Byte (8 bit) dải biểu diễn của các số có dấu là như thế nào?

Có hai cách biểu diễn số không là 0000 0000 (+0) và 1000 0000 (-0).

Ví dụ:
+23 =????; -23 = ????

Vấn đề nảy sinh


Cần quan tâm cả phần dấu và phần độ lớn khi thực hiện
các phép toán số học

Có đến 2 cách biểu diễn cho số 0 (+0 và -0)

IBM 7090 sử dụng pp 1 biểu diễn số âm
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
17 / 50
Số nguyên có dấu

Dùng mã bù 1

Đối với số dương: biểu diễn dạng nhị phân

Đối với số âm: tìm số bù 1, thêm bit dấu:

Bit lớn nhất biểu diễn dấu:

0: biểu diễn số dương

1: biểu diễn số âm

Đổi số dương tương ứng → nhị phân

Tìm số bù 1 (đảo bit 1 → 0, 0 → 1)

Đặc điểm:

Có 2 cách biểu diễn số 0


0000 0000 (+0)

1111 1111 (-0)

PP này dùng trong máy PDP-1, UNIVAC 1100/2200
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
18 / 50
Số nguyên có dấu

Dùng mã bù 2

Đối với số dương: biểu diễn dạng nhị phân

Đối với số âm: tìm số bù 2:

B1: đổi số dương tương ứng → nhị phân

B2: tìm số bù 1 (đảo bit 1 → 0, 0 → 1)

B3: tìm số bù 2: số bù 1 cộng với 1

Số bù 2 thu được chính là cách biểu diễn số âm

Đặc điểm:

Thực hiện các phép toán số học dễ dàng

Chỉ có một sự biểu diễn duy nhất cho số 0
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
19 / 50

Số nguyên có dấu

Ví dụ 1: Biểu diễn các số nguyên có dấu sau đây bằng 8 bit:
B = - 92

Giải:

B = - 92 =1010 0100
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
20 / 50
Số nguyên có dấu

Ví dụ 2: Xác định giá trị của các số nguyên có dấu biểu diễn dưới đây (dùng dấu - độ lớn):
C = 0110 1010; D = 1100 0011 (bù 2)

Giải:

C = 0110 1010 = + (64 + 32 + 8 + 2) = 106

D = 1100 0011 = - (64 + 2 + 1) = - 67
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
21 / 50

Ví dụ 3: Xác định giá trị của các số nguyên có dấu được biểu diễn dưới đây (dùng mã bù 2):
F = 1101 1010
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
22 / 50

Ví dụ 3: Xác định giá trị của các số nguyên có dấu được biểu diễn dưới đây (dùng mã bù 2):
F = 1101 1010


Giải:
F = 1101 1010 = -128 + 64 + 16 + 8 + 2 = -38
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
23 / 50

Hãy đưa ra các giá trị từ -128 đến +127 sử dụng 8bit để biểu diễn
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
24 / 50
Chuyển đổi độ dài

Đối với số dương: thêm/bớt số 0 ở phía trước:
+23 = 0001 0111 (8 bit)
+23 = 0000 0000 0001 0111 (16 bit)

Đối với số âm: thêm/bớt số 1 ở phía trước:
-23 = 1110 1001 (8 bit)
-23 = 1111 1111 1110 1001 (16 bit)
BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA ĐiỆN TỬ
25 / 50
Các phép toán số học

Phép cộng

Phép trừ

Phép nhân

Phép chia

×