Thông tin và sự mã hóa thông tin 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
Trang 1CHƯƠNG 2
BIỂU DIỄN DỮ LIỆU
Trang 2NỘI DUNG
Trang 3Thô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ế
Trang 4Thô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
Trang 5Thông tin và sự mã hóa thông tin
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ự
Trang 6Thông tin và sự mã hóa thông tin
Bộ tái tạo tín hiệu
Trang 7Biể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
m i
bi: giá trị của chữ số thứ I
k: hệ đếm
Trang 8Chuyể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
Trang 9Chuyể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
Trang 10Biểu diễn số nguyên
Số nguyên không dấu (unsigned integer)
Số nguyên có dấu (signed integer)
Trang 11Số 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 2n số
Dải biểu diễn: 0 ÷ 2n - 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
0 ÷ 28 -1, hay 0 ÷ 255
0 ÷ 216 - 1, hay 0 ÷ 65535
Trang 12Số 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:
Giải:
A = 73 = 0100 1001
B = 138 = 1000 1010
Trang 13Số 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
Trang 14Số nguyên có dấu
Nguyên tắc chung
Dùng n chữ số nhị phân thì biểu diễn được 2n số
Dải biểu diễn: - 2n-1 ÷ 2n-1 – 1
Trang 15Số 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 dn-1 là bit dấu và các bit từ d0 tới dn-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
Trang 16Số 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)
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
Trang 17Số 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
Trang 18Số 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
Trang 21 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
Trang 22 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
Trang 23 Hãy đưa ra các giá trị từ -128 đến +127 sử dụng 8bit để biểu diễn
Trang 24Chuyển đổi độ dài
Đối với số dương: thêm/bớt số 0 ở phía trước:
Trang 26Phép cộng (addition)
Cộng số nguyên không dấu
Cộng số nguyên có dấu
Trang 27Biểu diễn số nguyên không dấu
Nguyên tắc
Khi cộng hai số nguyên không dấu n bit:
Nếu không có nhớ ra khỏi bit cao
nhất thì tổng luôn đúng (Cout = 0)
Nếu có nhớ ra ngoài (Carry out)
thì tổng là sai (Cout = 1), ta nói
Trang 28Biểu diễn số nguyên không dấu
Trang 29Cộng hai số nguyên khác dấu
Khi cộng hai số nguyên có dấu n bit, không quan tâm đến bit nhớ ra ngoài (Cout), kết quả nhận được là n bit:
Nếu cộng hai số khác dấu , tổng thu được luôn luôn đúng
Cộng hai số cùng dấu , nếu tổng cùng dấu với các số hạng thì tổng đó đúng
Cộng hai số cùng dấu , nếu tổng ngược dấu với các số
hạng thì tổng đó sai, ta nói tổng bị tràn (Overflow)
Trang 31Phép nhân
Nhân hai số nguyên không dấu
Nhân hai số nguyên có dấu
Trang 32Ví dụ
1100 1100 0000
1100
Trang 33Ví dụ
Thực hiện phép nhân sau
1011
* 1101 1011 0000 1011 1011 10001111
Trang 34Nguyên tắc thực hiện phép nhân không dấu
Các tích thành phần được tính như sau:
Nếu bit tương ứng của số nhân bằng 0 → tích thành phần bằng 0
Nếu bit tương ứng của số nhân bằng 1 → tích thành phần bằng số bị nhân
Tích thành phần tiếp theo được dịch trái 1 bit so với tích trước đó
Tổng các tích thành phần là Tích cuối cùng
Nhân hai số n bit, tích có độ dài 2n bit
Trang 35Nhân số nguyên có dấu
Không thực hiện trực tiếp được trong máy tính
Nếu hai số khác dấu → tích là số âm
Trang 37Biểu diễn số thực
Nguyên tắc chung
Một số thực X có thể biểu diễn như sau:
X = (-1)S * M * RETrong đó:
S (sign): dấu (0: số dương; 1: số âm)
M (mantissa): phần định trị
R (radix): cơ số
E (exponent): số mũ
Trang 39Chuẩn IEEE 754/85
Có 3 dạng:
Dạng đơn (single precision): 32 bit
Dạng kép (double precision): 64 bit
80 bit
Cả 3 dạng đều có điểm chung: R = 2
Trang 41Chuyển đổi → IEEE 754/85 (32 bit)
Bước 1: Đổi số thực đó → nhị phân
Bước 2: Chuyển về dạng: ±1,aa a * 2b