Biểu diễn thông tin trong máy vi tính • Mọi dữ liệu khi đưa vào máy tính đều phải được mã hóa thành số nhị phân.. c Biểu diễn thông tin theo dạng mã nhị phân Biểu diễn ký tự, biểu diễn h
Trang 1Chương 2 : Biểu diễn thông tin
trong máy tính
TS Phạm Văn Thành (phamvanthanh@hus.edu.vn)
1
Trang 4Khái niệm về hệ đếm:
4
Trang 6• Dùng n chữ số thập phân có thể biểu diễn
00….0000=0
Trang 71 Hệ đếm
7
a) Hệ thập phân (Decimal System):
• Nếu một số A được biểu diễn dạng
A=an an-1…a1a0.a-1 a-2 …a-m
→ Giá trị của A được biểu diễn dưới dạng
𝑖=−𝑚
Trang 10• Dùng n chữ số thập lục phân có thể biểu diễn được
Trang 121 Hệ đếm
12
Trang 131 Hệ đếm
13
Chuyển đổi một số từ hệ thập phân sang hệ cơ
số b bất kỳ (b=2, 16)
• Trường hợp tổng quát: một số N trong hệ thập phân
bao gồm phần nguyên và phần thập phân
• Chuyển 1 số từ hệ thập phân sang 1 số ở hệ cơ số b bất
kỳ gồm 2 bước:
Bước 1: Đổi phần nguyên của số đó từ hệ thập
phân sang hệ cơ số b
Bước 2: Đổi phần thập phân của số đó sang hệ cơ
số b
Trang 14Bước 1: Lấy phần nguyên của số N(10) chia cho b,
Bước 2: Nếu T1 khác 0, lấy T1 chia cho b ta được
Trang 161 Hệ đếm
16
Chuyển đổi một số từ hệ thập phân sang hệ cơ
số b bất kỳ (b=2, 16)
• Đổi phần thập phân từ hệ thập phân sang hệ cơ sốb
Bước 1: Lấy phần lẻ của số N(10) nhân với b, ta
Trang 192 Biểu diễn thông tin trong máy vi tính
• Mọi dữ liệu khi đưa vào máy tính đều phải được mã hóa thành số nhị phân
• Các loại dữ liệu thông dụng:
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,
phổ biến là tín hiệu vật lý như âm thanh, hình ảnh,…
19
Trang 202 Biểu diễn thông tin
• Mã hoá dữ liệu nhân tạo:
Dữ liệu số: mã hoá theo các chuẩn quy định
Dữ liệu ký tự: mã hoá theo bộ mã ký tự
• Mã hoá dữ liệu tự nhiên:
Các dữ liệu cần phải mã hoá trước khi đưa vào máy
tính
Sơ đồ:
20
Nguyên tắc mã hóa
Trang 212 Biểu diễn thông tin
a) Biểu diễn số nguyên theo mã nhị phân
b) Biểu diễn số thực theo mã nhị phân
c) Biểu diễn thông tin theo dạng mã nhị phân (Biểu diễn
ký tự, biểu diễn hình ảnh chuyển động, biểu diễn âm
thanh)
21
Trang 222 Biểu diễn thông tin
a) Biểu diễn số nguyên theo
mã nhị phân
22
• Sử dụng 4 bit của hệ nhị phân cho một chữ số của hệ thập lục
phân để biểu diễn một số thập phân - Số thập phân mã hoá nhị
phân BCD (Binary Coded Decimal)
Ví dụ1: Biểu diễn chữ số 451D dưới dạng BCD
451 (D) = 0100 0101 0001 (B) | BCD
4 = 0100|BCD
5 = 0101|BCD
1 = 0001|BCD
• Các thanh ghi trong vi xử lý và các ô nhớ của máy vi tính sử dụng
đơn vị nhớ nhỏ nhất là 1 byte=8 bit để biểu diễn cho mã BCD
(4bit) → Lãng phí vì 4 bit cao bị bỏ trống
• Khắc phục: Sử dụng cả 4 bit cao để biểu diễn → được gọi là BCD
gói
Ví dụ: Biểu diễn số 52D
Trang 232 Biểu diễn thông tin
a) Biểu diễn số nguyên theo
mã nhị phân
23
Ví dụ: Biểu diễn số 52D
Biểu diễn theo BCD: 52D=0000 0101 0000 0010 B
Biểu diễn theo BCD gói: 52D=0101 0010B
Trang 242 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
24
trước hoặc dịch lùi về sau để thuận tiện cho từng phép
tính và được gọi là dấu phẩy động (hay dấu chấm động)
vi xử lý mà số thực khi biểu diễn theo mã nhị phân cũng khác nhau tuỳ theo dấu phẩy
định và dấu phẩy động
Trang 252 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
25
Biểu diễn theo dấu phẩy cố định:
Một số thực X biểu diễn theo dấu phẩy cố định như sau:
Trang 262 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
26
Biểu diễn theo dấu phẩy động (floating point)
Một số thực X biểu diễn theo dấu phẩy động như sau
Trang 272 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
27
Biểu diễn theo dấu phẩy động
Với R cố định thì để lưu trữ X ta chỉ cần lưu trữ M và
E (dưới dạng số nguyên)
lưu trữ theo phần định trị và số mũ như sau:
–M1 = -15 và E1 = +12
–M2 = +314 và E2 = -9
Khi thực hiện phép toán với số dấu chấm động sẽ
được tiến hành trên cơ sở các giá trị của phần định trị
và phần mũ
Trang 282 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
28
Biểu diễn theo dấu phẩy động
Ví dụ: Có 2 số dấu phẩy động sau:
Trang 292 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
29
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85
Là chuẩn mã hoá số dấu chấm động
http://en.wikipedia.org/wiki/IEEE_floating_point
Trang 302 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
30
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85: Khuôn dạng mã
Trang 312 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
31
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85:
S là bit dấu, S=0 đó là số dương, S=1 đó là số âm
e là mã lệch (exponent) của phần mũ E, tức là: E =
e –b
Với b là độ lệch, trong đó
m là các bit phần lẻ của phần định trị M, phần định
trị được ngầm định như sau: M = 1.m
Giá trị của số thực là:
X=(-1)S x (1.m) x 2(e-b)
Trang 322 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
32
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85:
Ví dụ 1: Có một số thực X có dạng biểu diễn nhị phân theo chuẩn IEEE 754 dạng 32 bit như sau:
1100 0001 0101 0110 0000 0000 0000 0000 Xác định giá trị thập phân của số thực đó
Trang 332 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
33
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85:
Ví dụ 2: Xác định giá trị thập phân của số thực X có dạng biểu diễn theo chuẩn IEEE 754 dạng 32 bit như sau:
Trang 342 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
34
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85:
Ví dụ 3: Biểu diễn số thực X = 9.6875 về dạng số dấu chấm động theo chuẩn IEEE 754 dạng 32 bit
X là số dương nên S=0
m=0011011…00 (23 bit)
E = e-127 = 3 →e = 130D = 1000 0010 B Vậy:
X= 0100 0001 0001 1011 0000 0000 0000 0000
Trang 352 Biểu diễn thông tin
b) Biểu diễn số thực theo mã
nhị phân
35
Biểu diễn theo dấu phẩy động
Chuẩn mã hoá IEEE 754/85:
Quy ước đặc biệt:
• Nếu tất cả các bit của e đều bằng 0, các bit của m
đều bằng 0, thì X = ±0
• Nếu tất cả các bit của e đều bằng 1, các bit của m
đều bằng 0, thì X =±∞
• Nếu tất cả các bit của e đều bằng 1, m có ít nhất
một bit bằng 1, thì X không phải là số (not a number -NaN)
Trang 362 Biểu diễn thông tin
c) Biểu diễn thông tin theo dạng mã nhị phân
Biểu diễn ký tự
Biểu diễn hình ảnh
Biểu diễn âm thanh
36
Trang 372 Biểu diễn thông tin
c) Biểu diễn thông tin
Trang 382 Biểu diễn thông tin
c) Biểu diễn thông tin
Biểu diễn ký tự
38
• Bộ mã ASCII (American Standard Code for Infomation
Interchange – mã chuẩn của Mỹ dùng để trao đổi thông tin)
Do ANSI (American National Standard Institute)
thiết kế
ASCII là bộ mã được dùng để trao đổi thông tin
chuẩn của Mỹ Lúc đầu chỉ dùng 7 bit (128 ký tự) sau đó mở rộng cho 8 bit và có thể biểu diễn 256 ký
tự khác nhau trong máy tính
Trang 392 Biểu diễn thông tin
39
• Bộ mã ASCII
http://en.wikipedia.org/wiki/ASCII
Trang 402 Biểu diễn thông tin
40
• Bộ mã ASCII
- 26 chữ cái thường Latin 'a' ~'z' có mã từ
61(16)~7A(16)
95 ký tự hiển thị được:
–Các dấu câu: , ? ! : ; … –Các dấu phép toán: + -* / … –Một số kí tự thông dụng: #, $, &, @,
để mã hóa cho các chức năng điều khiển
http://en.wikipedia.org/wiki/ASCII
Trang 412 Biểu diễn thông tin
FF Form Feed - Đẩy sang đầu trang: Ký tự điều khiển con trỏ di chuyển
xuống đầu trang tiếp theo
CR Carriage Return - Về đầu dòng: Ký tự điều khiển con trỏ di chuyển về
đầu dòng hiện hành
Trang 422 Biểu diễn thông tin
STX Start of Text - Bắt đầu văn bản: Ký tự đánh dấu bắt đầu khối dữ liệu văn bản
và cũng chính là để kết thúc phần thông tin tiêu đề
ETX End of Text - Kết thúc văn bản: Ký tự đánh dấu kết thúc khối dữ liệu văn bản
đã được bắt đầu bằng STX
EOT End of Transmission - Kết thúc truyền: Chỉ ra cho bên thu biết kết thúc
truyền
ENQ Enquiry - Hỏi: Tín hiệu yêu cầu đáp ứng từ một máy ở xa
ACK Acknowledge - Báo nhận: Ký tự được phát ra từ phía thu báo cho phía phát
biết rằng dữ liệu đã được nhận thành công
NAK Negative Aknowledge - Báo phủ nhận: Ký tự được phát ra từ phía thu báo cho
phía phát biết rằng việc nhận dữ liệu không thành công
Trang 432 Biểu diễn thông tin
43
• Bộ mã ASCII
http://en.wikipedia.org/wiki/ASCII
SYN Synchronous / Idle - Đồng bộ hóa: Được sử dụng bởi hệ thống truyền đồng bộ
để đồng bộ hoá quá trình truyền dữ liệu
ETB End of Transmission Block - Kết thúc khối truyền: Chỉ ra kết thúc khối dữ
liệu được truyền
FS File Separator - Ký hiệu phân cách tập tin: Đánh dấu ranh giới giữa các tập
NUL Null - Ký tự rỗng: Được sử dụng để điền khoảng trống khi không có dữ liệu
BEL Bell - Chuông: Được sử dụng phát ra tiếng bíp khi cần gọi sự chú ý của con
người
Trang 442 Biểu diễn thông tin
44
• Bộ mã ASCII
http://en.wikipedia.org/wiki/ASCII
SO Shift Out - Dịch ra: Chỉ ra rằng các mã tiếp theo sẽ nằm ngoài tập ký
tự chuẩn cho đến khi gặp ký tự SI
SI Shift In - Dịch vào: Chỉ ra rằng các mã tiếp theo sẽ nằm trong tập ký tự
chuẩn
DLE Data Link Escape - Thoát liên kết dữ liệu: Ký tự sẽ thay đổi ý nghĩa của một
hoặc nhiều ký tự liên tiếp sau đó
DC1 ÷
DC4
Device Control - Điều khiển thiết bị : Các ký tự dùng để điều khiển các thiết
bị phụ trợ
CAN Cancel - Hủy bỏ: Chỉ ra rằng một số ký tự nằm trước nó cần phải bỏ qua
EM End of Medium - Kết thúc phương tiện: Chỉ ra ký tự ngay trước nó là ký tự
cuối cùng có tác dụng với phương tiện vật lý
SUB Substitute - Thay thế: Được thay thế cho ký tự nào được xác định là bị lỗi
ESC Escape - Thoát: Ký tự được dùng để cung cấp các mã mở rộng bằng cách kết
hợp với ký tự sau đó
DEL Delete - Xóa: Dùng để xóa các ký tự không mong muốn
Trang 452 Biểu diễn thông tin
45
• Bộ mã ASCII
Các ký tự mở rộng được định nghĩa bởi nhà chế tạo
máy tính hoặc người phát triển phần mềm
Ví dụ:
–Bộ mã ký tự mở rộng của IBM –Bộ mã ký tự mở rộng của Apple
http://en.wikipedia.org/wiki/ASCII
Đặc biệt: nếu ta lấy mã ký tự chữ cái (65 đến 90) trừ đi 64 ta sẽ
tìm ra mã điều khiển Phép trừ sẽ được phần cứng bàn phím thực
hiện khi ta cùng bấm phím Ctrl với một phím chữ cái
Ví dụ: Ctrl + W = mã 27 : Escape (thoát)
Ctrl + C = mã 3: Break Ctrl + I = mã 9: Tab
Ctrl +H = mã 8: Back Space
Trang 462 Biểu diễn thông tin
46
• Bộ mã ASCII
Các ký tự mở rộng được định nghĩa bởi nhà chế tạo
máy tính hoặc người phát triển phần mềm
Ví dụ:
–Bộ mã ký tự mở rộng của IBM –Bộ mã ký tự mở rộng của Apple
http://en.wikipedia.org/wiki/ASCII
Đặc biệt: nếu ta lấy mã ký tự chữ cái (65 đến 90) trừ đi 64 ta sẽ
tìm ra mã điều khiển Phép trừ sẽ được phần cứng bàn phím thực
hiện khi ta cùng bấm phím Ctrl với một phím chữ cái
Ví dụ: Ctrl + W = mã 27 : Escape (thoát)
Ctrl + C = mã 3: Break Ctrl + I = mã 9: Tab
Ctrl +H = mã 8: Back Space
Trang 472 Biểu diễn thông tin
c) Biểu diễn thông tin
nhất cho tất cả các ngôn ngữ khác nhau trên thế giới,
http://vi.wikipedia.org/wiki/Unicode
Trang 482 Biểu diễn thông tin
c) Biểu diễn thông tin
Trang 492 Biểu diễn thông tin
c) Biểu diễn thông tin
Biểu diễn hình ảnh
49
Biểu diễn hình ảnh tĩnh (các biểu tượng, logo, ảnh)
Hình ảnh được biểu diễn theo 2 nguyên tắc: đồ hoạ
điểm và đồ hoạ véc tơ
o Đồ hoạ điểm: biểu diễn hình ảnh bằng một ma
trận điểm ảnh (pixel matrix):
• Nếu là ảnh đen trắng (2 màu) thì mỗi bit tương ứng với
1 màu (bit 1 màu đen, bit 0 màu trắng)
• Nếu là ảnh màu chất lượng cao ta cần nhiều thông tin
để biểu diễn màu sắc của điểm ảnh:
color)
thể phân biệt được (màu thực - True color)
Trang 502 Biểu diễn thông tin
c) Biểu diễn thông tin
Biểu diễn hình ảnh
50
Biểu diễn hình ảnh tĩnh (các biểu tượng, logo, ảnh)
o Đồ hoạ véc tơ:
+ Chia một hình ảnh thành nhiều đối tượng cơ bản như
sẽ dựa theo các công thức toán ( toán véc tơ ) để xây dựng lại hình ảnh từ những đối tượng cơ bản trên
+ Đồ hoạ hướng đối tượng , mỗi đối tượng và đặc tính của
nó có thể được mã hoá bằng một lệnh lên đồ hoạ véc tơ rất ngắn gọn, đồng thời có khẳ năng hiển thị đối tượng ba
chiều (Pentium III trở đi có khả năng đồ hoạ ba chiều)
Trang 512 Biểu diễn thông tin
c) Biểu diễn thông tin
Biểu diễn hình ảnh
51
Biểu diễn hình ảnh chuyển động
Những chương trình hình ảnh giải trí cũng có thể mã hoá theo
điểm ảnh hoặc đối tượng
Tuy nhiên hình ảnh chuyển động còn thêm một tham số biểu
diễn nữa: đó là thời gian
Biểu diễn ảnh chuyển động bằng điểm ảnh tương tự như
nguyên tắc dùng phim nhựa: 30 ảnh/s là con người cảm giác
đó là một hình ảnh chuyển động trơn tru (lưu ảnh trên võng mạc).→ Để hiển thị 1s ảnh chuyển động, máy tính cần phải có dung lượng bộ nhớ đủ để chứa 30 ảnh tĩnh
Vi xử lý của máy tính phải nhanh để có thể xử lý được 1 khối
Trang 522 Biểu diễn thông tin
c) Biểu diễn thông tin
Biểu diễn hình ảnh
52
Biểu diễn hình ảnh chuyển động
Do khối lượng thông tin và chất lượng của ảnh động rất cao,
vì vậy với kĩ thuật thông thường thì máy tính không thể đáp ứng được nhu cầu kỹ thuật vi deo số có màu thực và độ phân giải cao
→Nén video số hoá: Nén từng ảnh tĩnh và nén từng phần ảnh
và không thay đổi theo thời gian,
truyền tất cả không gian của cả khung cảnh văn phòng, sau đó chỉ
truyền những thay đổi xẩy ra trong văn phòng đó
Trang 532 Biểu diễn thông tin
c) Biểu diễn thông
Biểu diễn âm thanh
Mã hoá âm thanh theo hệ đếm nhị phân bằng cách
ngắt âm thanh ra nhiều giá trị sau một khoảng thời gian nhất định
Mỗi giá trị này được gán một mã nhị phân và lưu trữ
Trang 542 Biểu diễn thông tin
c) Biểu diễn thông
Biểu diễn âm thanh
54