Bài giảng Tin học đại cương - Chương 1: Thông tin và biểu diễn thông tin - Đỗ Bá Lâm

Nội dung

1.1. Thông tin và Tin học

1.1.1. Thông tin và xử lý thông tin

1.1.2. Máy tính điện tử (MTĐT)

1.1.3. Tin học và các ngành liên quan

1.2. Biểu diễn số trong hệ đếm

1.3. Biểu diễn dữ liệu trong máy tính

pdf 139 trang yennguyen 1480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Chương 1: Thông tin và biểu diễn thông tin - Đỗ Bá Lâm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Tin học đại cương - Chương 1: Thông tin và biểu diễn thông tin - Đỗ Bá Lâm

Bài giảng Tin học đại cương - Chương 1: Thông tin và biểu diễn thông tin - Đỗ Bá Lâm
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TS. Đỗ Bá Lâm
lamdb@soict.hust.edu.vn
TIN HỌC ĐẠI CƯƠNG
Chương 1: Thông tin và biểu diễn thông tin
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
2
Nội dung
1.1. Thông tin và Tin học
1.1.1. Thông tin và xử lý thông tin
1.1.2. Máy tính điện tử (MTĐT)
1.1.3. Tin học và các ngành liên quan
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
3
Nội dung
1.1. Thông tin và Tin học
1.1.1. Thông tin và xử lý thông tin
1.1.2. Máy tính điện tử (MTĐT)
1.1.3. Tin học và các ngành liên quan
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
4
a. Thông tin (Information)
5
Thông tin là khái niệm trừu tượng, 
giúp chúng ta hiểu và nhận thức thế giới
Dự báo thời tiết
Thời sự
Thông tin có thể truyền từ người này 
sang người khác
b. Dữ liệu (Data)
6
Dữ liệu là vật mang thông tin
Dấu hiệu
Tín hiệu
Cử chỉ, hành vi
c. Xử lý dữ liệu (Data processing)
• Thông tin nằm trong dữ liệu → Cần phải xử lý dữ liệu để
thu được thông tin cần thiết, hữu ích phục vụ cho con 
người
• Quá trình xử lý dữ liệu
NHẬP
(INPUT)
XỬ LÝ
(PROCESSING)
XUẤT 
(OUTPUT)
LƯU TRỮ (STORAGE)
• Khi dữ liệu ít, có thể
làm thủ công
• Khi dữ liệu nhiều lên,
các công việc lặp đi
lặp lại → ???
→ Sử dụng máy tính
điện tử để hỗ trợ cho
việc lưu trữ, chọn lọc
và xử lý dữ liệu.
8
c. Xử lý dữ liệu (2)
Nội dung
1.1. Thông tin và Tin học
1.1.1. Thông tin và xử lý thông tin
1.1.2. Máy tính điện tử (MTĐT)
1.1.3. Tin học và các ngành liên quan
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
9
1.1.2. Máy tính điện tử
• Máy tính điện tử
(Computer):
– Tiết kiệm rất nhiều thời 
gian, công sức
– Tăng độ chính xác 
trong việc tự động hóa 
một phần hay toàn 
phần của quá trình xử 
lý dữ liệu.
10
a. Biểu diễn thông tin trong MTĐT
• Trong máy tính mọi thông 
tin đều được biểu diễn bằng 
số nhị phân
• Để đưa dữ liệu vào cho máy 
tính, cần phải mã hoá nó về 
dạng nhị phân.
• Với các kiểu dữ liệu khác 
nhau cần có cách mã hoá 
khác nhau.
11
a. Biểu diễn thông tin trong MTĐT (2)
• Đơn vị nhỏ nhất để biểu diễn thông tin gọi là bit.
• BIT là chữ viết tắt của BInary digiT.
• Một bit có 2 trạng thái: 0 hoặc 1
• 0 = OFF ; 1 = ON
12
OFF ON
a. Biểu diễn thông tin trong MTĐT (3)
Tên gọi Ký hiệu Giá trị 
Byte 
KiloByte 
MegaByte 
GigaByte 
TeraByte
Petabyte
Exabyte
B 
KB 
MB 
GB 
TB
PB
EB
8 bit 
210 B = 1024 Byte 
220 B = 1024 KB
230 B = 1024 MB
240 B = 1024 GB
250 B = 1024 TB
260 B = 1024 PB
13
• Các đơn vị biểu diễn thông tin lớn hơn:
b. Phân loại MTĐT
• Theo khả năng sử dụng chung:
– Máy tính lớn/Siêu máy tính (Mainframe/Super
Computer)
– Máy tính tầm trung (Mini Computer)
– Máy vi tính (Micro Computer)
14
i. Máy tính lớn/Siêu máy tính
• Phức tạp, có tốc độ rất nhanh
• Sử dụng trong các công ty lớn/viện nghiên cứu
• Giải quyết các công việc lớn, phức tạp
• Rất đắt (hàng trăm ngàn ~ hàng triệu USD).
• Nhiều người dùng đồng thời (100 – 500)
15
Su
p
e
r
C
o
m
p
u
t
e
r
ii. Máy tính tầm trung (Mini computer)
• Cũng giống như các máy Mainframe
• Sự khác biệt chính:
– Hỗ trợ ít người dùng hơn (10 – 100)
– Nhỏ hơn và rẻ hơn (vài chục nghìn USD)
17
iii. Máy vi tính (Micro computer)
• Sử dụng vi xử lý
• Nhỏ, rẻ, hiệu năng cao,
• Phù hợp cho nhiều đối tượng người dùng, sử dụng 
nhiều trong công nghiệp và giải trí:
– Máy tính cá nhân – Personal Computer (PC)
– Máy tính “nhúng” – Embedded Computer
– Các thiết bị cầm tay như điện thoại di dộng, máy tính bỏ túi
– ...
18
Máy tính cá nhân (Personal Computer – PC)
• Máy tính để bàn – Desktop Computer
• Máy tính di động – Portable Computer
– Máy tính xách tay (Laptop Computer)
– Máy tính bỏ túi (PDA - Personal Digital Assistant)
• Máy tính bảng – Tablet Computer
Máy tính để bàn
Laptop
Máy tính bảng
PDA
Máy tính nhúng (Embedded computer)
• Là máy tính chuyên dụng 
(special-purpose computer)
• Gắn trong các thiết bị gia 
dụng, máy công nghiệp
• Giúp con người dùng sử dụng 
thiết bị hiệu quả hơn
20
c. Các thế hệ máy tính
• Sự phát triển về công nghệ → Sự phát 
triển về máy tính
21
i. Thế hệ đầu (1950 – 1958)
• 1930’s: Bóng đèn được sử dụng làm các bảng mạch tín 
hiệu điều khiển (electric circuits or switches)
• Điều khiển bằng tay, kích thước rất lớn
22
Bóng đèn 
chân không 
(vacumm 
tube)
ENIAC
• Máy tính điện tử đầu tiên với công nghệ bóng chân không:
• Kích thước: dài 10m, rộng 3m, cao 3m
• Trong 1 giây thực hiện được 3 phép toán
23
ENIAC -
Electronic 
Numerical 
Integrator 
and 
Calculator
ii. Thế hệ thứ hai (1958 – 1964)
• 1947: Bóng bán dẫn được phát minh tại Bell 
Laboratories
• Bóng bán dẫn được sử dụng thay bóng đèn chân không
24
Công nghệ bán dẫn 
(diodes, transistors)
TRADIC
25
• Máy tính đầu tiên sử dụng 
hoàn toàn bóng bán dẫn:
• 8000 transistors 
• Nhanh hơn
• Nhỏ hơn
• Rẻ hơn.
TRADIC - TRAnsistorized 
Airborne DIgital Computer
iii. Thế hệ thứ ba (1965 – 1974)
26
• 1959 – thiết kế ra vi mạch đầu tiên dựa trên công nghệ 
silicon (silicon chip or microchip)
• Trên 1 vi mạch tích hợp hàng triệu transitor
Công nghệ mạch tích hợp 
(IC – integrated circuit)
Vi mạch – Integrated Circuit
27
• Nhỏ hơn,
• Rẻ hơn,
• Hiệu quả hơn
IBM 360
28
• Thiết kế trên 
công nghệ IC
• Tốc độ tính toán: 
1000 tỷ phép toán 
trong 1 giây
iv. Thế hệ thứ tư (1974 – nay)
29
• Microprocessor = Central Processing Unit (CPU) thiết kế 
trong 1 vi mạch đơn
• 1971 : Intel 4004
Vi xử lý (Microprocessor)
1975 – Altair 8800
30
Máy tính cá nhân đầu 
tiên – Altair 8800
Vi xử lý (Microprocessor)
31
1981 – IBM PC
32
Thế hệ máy tính cá 
nhân mới với kiến trúc 
mở IBM
1984 – Apple Macintosh
33
1990 -  Personal Computers
34
• Tốc độ vi xử lý tăng nhanh:
• CPU 1 lõi,
• CPU đa lõi
• Kiến trúc ít thay đổi
e. Thế hệ 5 (1990 - nay)
• Artificial Intelligence (AI)
• Công nghệ vi điện tử với 
tốc độ tính toán cao và 
xử lý song song.
• Mô phỏng các hoạt động 
của não bộ và hành vi 
con người
• Có trí khôn nhân tạo với 
khả năng tự suy diễn 
phát triển các tình huống 
nhận được
Nội dung
1.1. Thông tin và Tin học
1.1.1. Thông tin và xử lý thông tin
1.1.2. Máy tính điện tử (MTĐT)
1.1.3. Tin học và các ngành liên quan
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
36
1.1.3. Tin học và các ngành liên quan
• Tin học (Computer Science/Informatics)
• Công nghệ thông tin (Information Technology - IT)
• Công nghệ thông tin và truyền thông (Information 
and Communication Technology – ICT).
• 1957, Karl Steinbuch người Đức đề 
xướng trong 1 bài báo có thuật ngữ 
"Informatik "
• 1962, Philippe Dreyfus người Pháp gọi là 
“informatique "
• Phần lớn các nước Tây Âu, trừ Anh đều 
chấp nhận. Ở Anh người ta sử dụng thuật 
ngữ ‘computer science’, hay ‘computing 
science’, 
• 1966, Nga cũng sử dụng tên informatika
38
a. Tin học (Informatics)
a. Tin học (2)
• Tin học được xem là ngành khoa học nghiên 
cứu các phương pháp, công nghệ và kỹ thuật 
xử lý thông tin một cách tự động. 
• Công cụ chủ yếu sử dụng trong tin học là 
máy tính điện tử và một số thiết bị truyền tin 
khác. 
• Nội dung nghiên cứu của tin học chủ yếu 
gồm 2 phần:
– Kỹ thuật phần cứng (Hardware engineering)
– Kỹ thuật phần mềm (Software engineering)
39
• Xuất hiện ở Việt nam vào những năm 90 
của thế kỷ 20. 
• CNTT xử lý với các máy tính điện tử và các 
phần mềm máy tính nhằm chuyển đổi, lưu trữ, 
bảo vệ, truyền tin và trích rút thông tin một cách 
an toàn. 
(Information Technology Association of America)
40
b. Công nghệ thông tin
• Một ngành sử dụng hệ thống các thiết bị và máy 
tính, bao gồm phần cứng và phần mềm để cung 
cấp một giải pháp xử lý thông tin cho các cá
nhân, tổ chức có yêu cầu
• Có ảnh hưởng và được ứng dụng trong nhiều 
ngành nghề khác nhau của xã hội
• Các ứng dụng ngày nay của IT:
– Quản trị dữ liệu
– Quản lý hệ thống thông tin
– Thiết kế sản phẩm
– Ứng dụng khoa học
41
b. Công nghệ thông tin (2)
• Information and Communication Technology
– Truyền thông máy tính là sự kết nối một số lượng 
máy tính với nhau
• Là thuật ngữ mới, nhấn mạnh sự không thể tách 
rời hiện nay của CNTT với công nghệ truyền 
thông trong thời đại “tất cả đều nối mạng”
• Internet - Mạng máy tính toàn cầu
42
c. Công nghệ thông tin và truyền thông (ICT)
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.2.1. Hệ đếm
1.2.2. Chuyển đổi cơ số
1.3. Biểu diễn dữ liệu trong máy tính
43
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.2.1. Hệ đếm
1.2.2. Chuyển đổi cơ số
1.3. Biểu diễn dữ liệu trong máy tính
44
45
• Là tập hợp các ký hiệu và qui tắc để biểu 
diễn và xác định giá trị các số. 
• Mỗi hệ đếm có một số ký tự/số (ký số) 
hữu hạn. Tổng số ký số của mỗi hệ đếm 
được gọi là cơ số (base hay radix), ký 
hiệu là b. 
• Ví dụ: Trong hệ đếm cơ số 10, dùng 10 ký 
tự là: các chữ số từ 0 đến 9.
1.2.1. Hệ đếm
46
• Về mặt toán học, ta có thể biểu diễn 1 số 
theo hệ đếm cơ số bất kì.
• Khi nghiên cứu về máy tính, ta quan tâm 
đến các hệ đếm sau đây:
– Hệ thập phân (Decimal System) → con người 
sử dụng
– Hệ nhị phân (Binary System) → máy tính sử 
dụng
– Hệ đếm bát phân (Octal System), hệ mười 
sáu (Hexadecimal System) →dùng để viết 
gọn số nhị phân
1.2.1. Hệ đếm (2)
47
• Hệ đếm thập phân hay hệ đếm cơ số 10 
bao gồm 10 ký số theo ký hiệu sau: 
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Dùng n chữ số thập phân có thể biểu diễn 
được 10n giá trị khác nhau:
• 00...000 = 0
• ....
• 99...999 = 10n-1
a. Hệ đếm thập phân
48
• Giả sử một số A được biểu diễn dưới 
dạng:
A = an an-1  a1 a0 . a-1 a-2  a-m
→ Giá trị của A được hiểu như sau:
1 1 0 1
1 1 0 110 10 ... 10 10 10 ... 10
10
n n m
n n m
n
i
i
i m
A a a a a a a
A a
− − −
− − −
=−
= + + + + + + +
= 
a. Hệ đếm thập phân (2)
49
• Ví dụ: Số 5246 có giá trị được tính như 
sau: 
5246 = 5 x 103 + 2 x 102 + 4 x 101 + 6 x 100
• Ví dụ: Số 254.68 có giá trị được tính như 
sau:
254.68 = 2 x 102 + 5 x 101 + 4 x 100 + 6 x 10-1 + 
8 x 10-2
a. Hệ đếm thập phân (3)
50
• Có b ký tự để thể hiện giá trị số. Ký số nhỏ 
nhất là 0 và lớn nhất là b-1. 
• Số N(b) trong hệ đếm cơ số (b) được 
biểu diễn bởi:
N(b)=anan-1an-2a1a0.a-1a-2a-m
b. Hệ đếm cơ số b (với b ≥ 2, nguyên)
b. Hệ đếm cơ số b (2)
• Trong biểu diễn trên, số N(b) có n+1 ký số 
biểu diễn cho phần nguyên và m ký số lẻ 
biểu diễn cho phần lẻ, và có giá trị là:
51
52
• Sử dụng 2 chữ số: 0,1
• Chữ số nhị phân gọi là bit (binary digit)
Ví dụ: Bit 0, bit 1
• Bit là đơn vị thông tin nhỏ nhất
c. Hệ đếm nhị phân
53
• Dùng n bit có thể biểu diễn được 2n giá trị 
khác nhau:
00...000 (2) = 0 (trong hệ thập phân)
...
11...111 (2) = 2
n - 1 (trong hệ thập phân)
• VD: Dùng 3 bit thì biểu diễn được các số 
từ 0 đến 7 (trong hệ thập phân)
c. Hệ đếm nhị phân (2)
54
• Giả sử có số A được biểu diễn theo hệ 
nhị phân như sau:
A = an an-1  a1 a0 . a-1 a-2  a-m
• Với ai là các chữ số nhị phân, khi đó giá 
trị của A là:
1 1 0 1 2
1 1 0 1 22 2 ... 2 2 2 2 ... 2
2
n n m
n n m
n
i
i
i m
A a a a a a a a
A a
− − − −
− − − −
=−
= + + + + + + + +
= 
c. Hệ đếm nhị phân (3)
55
• Ví dụ: 
Số nhị phân 1101001.1011 có giá trị:
1101001.1011(2) = 2
6 + 25 + 23 + 20 + 2-1
+ 2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 
= 105.6875(10)
c. Hệ đếm nhị phân (4)
56
• Phép cộng:
1+0=0+1=1;
0+0=0;
1+1=10;
• Phép trừ:
0-1=1; (vay 1)
1-1=0;
0-0=0;
1-0=1
Tính toán trong hệ nhị phân
57
1 0 1
+ 1 1 1
---------
1 1 0 0
Tính toán trong hệ nhị phân – Ví dụ
58
1 1 0 0
- 1 1 1
--------------------
0 1 0 1
Tính toán trong hệ nhị phân – Ví dụ
59
• Sử dụng các chữ số: 0,1,2,3,4,5,6,7
• Dùng n chữ số có thể biểu diễn được 8n
giá trị khác nhau:
00...000 = 0 (trong hệ thập phân)
...
77...777 = 8n -1 (trong hệ thập phân)
d. Hệ đếm bát phân (Octal System b=8)
60
• Giả sử có số A được biểu diễn theo hệ bát 
phân như sau:
A = an an-1  a1 a0 . a-1 a-2  a-m
• Với ai là các chữ số trong hệ bát phân, khi 
đó giá trị của A là:
d. Hệ đếm bát phân (2)
1 1 0 1 2
1 1 0 1 28 8 ... 8 8 8 8 ... 8
8
n n m
n n m
n
i
i
i m
A a a a a a a a
A a
− − − −
− − − −
=−
= + + + + + + + +
= 
61
• Ví dụ:
235 . 64 (8) có giá trị như sau:
235 . 64 (8) = 2x8
2 + 3x81 + 5x80 + 6x8-1
+ 4x8-2
= 157. 8125 (10)
d. Hệ đếm bát phân (3)
62
• Sử dụng 16 ký số: 
0,1,2,3,4,5,6,7,8,9,A,B,C
,D,E,F
• Các chữ in: 
A, B, C, D, E, F 
biểu diễn các giá trị số 
tương ứng (trong hệ 10) 
là 10, 11, 12, 13, 14, 15 
e. Hệ đếm 16, Hexadecimal, b=16
63
• Giả sử có số A được biểu diễn theo hệ 
thập lục phân như sau:
A = an an-1  a1 a0 . a-1 a-2  a-m
Với ai là các chữ số trong hệ thập lục 
phân, khi đó giá trị của A là:
1 1 0 1 2
1 1 0 1 216 16 ... 16 16 16 16 ... 16
16
n n m
n n m
n
i
i
i m
A a a a a a a a
A a
− − − −
− − − −
=−
= + + + + + + + +
= 
e. Hệ đếm 16 (2)
64
• Ví dụ: 34F5C.12D(16) có giá trị như sau:
34F5C.12D(16)
= 3x164 + 4x163 + 15x162 + 5x161
+ 12x160 +?
= 216294(10) + ?
e. Hệ đếm 16 (3)
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.2.1. Hệ đếm
1.2.2. Chuyển đổi cơ số
1.3. Biểu diễn dữ liệu trong máy tính
65
66
1.2.2. Chuyển đổi cơ số
• Trường hợp tổng quát, một số N trong hệ 
thập phân (N(10)) 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:
– Đổi phần nguyên (của số đó) từ hệ thập phân
sang hệ b
– Đổi phần thập phân (của số đó) từ hệ thập
phân sang hệ cơ số b
67
a. Chuyển đổi phần nguyên
• Bước 1:Lấy phần nguyên của N(10) chia cho b, ta 
được thương là T1 số dư d1.
• Bước 2: Nếu T1 khác 0, Lấy T1 chia tiếp cho b, ta 
được thương số là T2 , số dư là d2
(Cứ làm như vậy cho tới bước thứ n, khi ta được Tn =0)
• Bước n: Nếu Tn-1 khác 0, lấy Tn-1 chia cho b, ta được 
thương số là Tn =0, số dư là dn 
• Kết quả ta được số N(b) là số tạo bởi các số dư 
(được viết theo thứ tự ngược lại) trong các bước 
trên
Phần nguyên của N(10) = dndn-1d1 (b)
68
a. Chuyển đổi phần nguyên (2)
• Ví dụ: Cách chuyển phần nguyên của số 
12.6875(10) sang số trong hệ nhị phân:
– Dùng phép chia cho 2 liên tiếp, ta có một loạt 
các số dư như sau 
69
b. Chuyển đổi phần thập phân
• Bước1: Lấy phần thập phân của N(10)
nhân với b, ta được một số có dạng x1.y1
(x là phần nguyên, y là phần thập phân)
• Bước 2: Nếu y1 khác 0, tiếp tục lấy 0.y1
nhân với b, ta được một số có dạng x2.y2
(cứ làm như vậy cho đến khi yn=0)
• Bước n: Nếu yn-1 khác 0, nhân 0.yn-1 với b, 
ta được xn.0
• Kết quả ta được số sau khi chuyển đổi là: 
Phần thập phân của N(10) = 0.x1x2xn (b)
70
b. Chuyển đổi phần thập phân (2)
• Ví dụ: Cách chuyển phần thập phân của 
số 12.6875(10) sang hệ nhị phân:
71
Ví dụ: Chuyển từ thập phân sang nhị phân
• 12.6875(10) = 1100.1011 (2)
• 69.25(10) = ?(2)
 ...  biểu diễn là [0, 232-1]
• n = 64 bit: 
– Dải biểu diễn là [0, 264-1]
88
89
b. Biểu diễn số nguyên có dấu
• Sử dụng bit đầu tiên để biểu diễn dấu 
‘-‘ và bit này gọi là bit dấu
• Sử dụng số bù hai để biểu diễn
i. Phần bù là gì?
90
• U: Universal Set (Tập toàn thể)
• A  U
• Ac = U \ A
91
ii. Số bù chín và số bù mười (hệ thập phân)
• Giả sử có 1 số nguyên thập phân A được 
biểu diễn bởi n chữ số thập phân. Ta có:
– Số bù chín của A = (10n – 1) – A
– Số bù mười của A = 10n – A
– NX: Số bù mười = Số bù chín + 1
• Ví dụ:
– Xét n = 4 chữ số, A = 2874
– Số bù chín của A = (104 – 1) – 2874 = 7125
– Số bù mười của A = 104 – 2874 = 7126
iii. Số bù một và số bù hai (hệ nhị phân)
• Giả sử có 1 số nguyên nhị phân được 
biểu diễn bởi n bit. Ta có:
– Số bù một của A = (2n - 1) – A
– Số bù hai của A = 2n – A
– NX: Số bù hai = Số bù một + 1
• Ví dụ
– Xét n = 4 bit, A = 0110
– Số bù một của A = (24 - 1) - 0110 = 1001
– Số bù hai của A = 24 - 0110 = 1010
92
93
Nhận xét
• Ví dụ (cũ)
– Xét n = 4 bit, A = 0110
– Số bù một của A = (24 - 1) - 0110 = 1001
– Số bù hai của A = 24 - 0110 = 1010
→Có thể tìm số bù một của A bằng cách 
đảo ngược tất cả các bit
→Số bù hai = Số bù một + 1
→A + Số bù hai của A = 0 nếu bỏ qua bit 
nhớ ra khỏi bit cao nhất
94
iv. Biểu diễn số nguyên có dấu
• Biểu diễn số nguyên có dấu bằng số bù hai
– Dùng n bit để biểu diễn số nguyên có dấu A
– Biểu diễn số bù 2 của A (sử dụng n bit)
• Ví dụ: Biểu diễn số nguyên có dấu sau đây bằng 
8 bit: A = - 70(10)
Biểu diễn 70 = 0100 0110
Bù 1: 1011 1001 (nghịch đảo các bit)
+ 1
Bù 2: 1011 1010
Vậy: A = 1011 1010(2)
95
iv. Biểu diễn số nguyên có dấu (2)
• Dạng tổng quát của số nguyên có dấu A:
an-1an-2...a2a1a0
• Giá trị của A được xác định như sau:
• Dải biểu diễn: [-2n-1, 2n-1-1]
10000000
.
01111111 
• Nhận xét: Với số dương, số âm?
2
1
1
0
2 2
n
n i
n i
i
A a a
−
−
−
=
= − +
96
Ví dụ
• Xác định giá trị của các số nguyên có dấu 
8 bit sau đây:
A = 0101 0110
B = 1101 0010
Giải:
A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86
B = -27 + 26 + 24 + 21 =
= -128 + 64 + 16 + 2 = -46
Trường hợp cụ thể: với n = 8 bit
• Dải biểu diễn là [-128, 127]
0000 0000 = 0
0000 0001 = +1
0000 0010 = +2
.......
01111111 = +127
10000000 = -128
10000001 = -127
.......
1111 1110 = -2
1111 1111 = -1
• Trục số học máy tính
98
v. Tính toán số học với số nguyên 
• Cộng/ trừ số nguyên không dấu:
– Tiến hành cộng/trừ lần lượt từng bít từ phải 
qua trái.
– Khi cộng/trừ hai số nguyên không dấu n bit ta 
thu được một số nguyên không dấu n bit.
• Nếu tổng của hai số đó lớn hơn 2n -1thì khi đó sẽ 
tràn số và kết quả sẽ là sai.
• Trừ số không dấu thì ta chỉ trừ được số lớn cho số 
nhỏ. Trường hợp ngược lại sẽ sai
99
Ví dụ: Cộng trừ số nguyên không dấu
• Dùng 8 bit để biểu diễn số nguyên không 
dấu
• Trường hợp không xảy ra tràn số (carry-
out):
– X = 1001 0110 = 150
– Y = 0001 0011 = 19
– S = 1010 1001 = 169
– Cout = 0
• Trường hợp có xảy ra tràn số (carry-out):
– X = 1100 0101 = 197
– Y = 0100 0110 = 70
– S = 0000 1011 267
– Cout = 1 → carry-out
– (KQ sai = 23 + 21 + 20 = 11)
100
v. Tính toán số học với số nguyên (2)
• Cộng số nguyên có dấu 
• Cộng lần lượt các cặp bit từ phải qua trái, bỏ 
qua bit nhớ (nếu có). 
• Cộng hai số khác dấu: kết quả luôn đúng
• Cộng hai số cùng dấu:
• Nếu tổng nhận được cùng dấu với 2 số hạng thì 
kết quả là đúng
• Nếu tổng nhận được khác dấu với 2 số hạng thì 
đã xảy ra hiện tượng tràn số học (overflow) và kết 
quả nhận được là sai
Ví dụ: Cộng/trừ số nguyên có dấu
X Y
0100 0110 0010 1010
0110 0001 1100 1100
1010 0110 0010 0100
1011 0110 1110 0010
101
102
Ví dụ: Cộng/trừ số nguyên có dấu
• VD: không tràn số
103
Ví dụ: Cộng/trừ số nguyên có dấu
• Có xảy ra tràn số:
v. Tính toán số học với số nguyên (3)
• Trừ số nguyên có dấu
– Để trừ hai số nguyên có dấu X và Y, cần lấy 
bù hai của Y tức –Y, sau đó cộng X với –Y 
tức là: X – Y = X + (-Y).
– Cộng lần lượt các cặp bit từ phải qua trái, bỏ 
qua bit nhớ (nếu có).
– Ví dụ:
104
105
v. Tính toán số học với số nguyên (4)
• Nhân/chia số nguyên không dấu
– Các bước thực hiện như trọng hệ 10
– VD: Phép nhân
1011 (11 cơ số 10)
x
1101 (13 cơ số 10) 
-------------
1011
0000
1011 
1011
--------------
10001111 (143 cơ số 10)
v. Tính toán số học với số nguyên (5)
• Chia hai số nguyên không dấu
106
v. Tính toán số học với số nguyên (6)
• Nhân số nguyên có dấu:
– Bước 1: Chuyển đổi số nhân và số bị nhân 
thành số dương tương ứng
– Bước 2: Nhân 2 số bằng thuật giải nhân số 
nguyên không dấu → Được tích 2 số dương
– Bước 3: Hiệu chỉnh dấu của tích:
• Nếu 2 thừa số ban đầu cùng dấu → Kết 
quả là tích thu được trong bước 2.
• Nếu khác dấu → Kết quả là số bù 2 của 
tích thu được trong bước 2.
107
v. Tính toán số học với số nguyên (7)
• Chia số nguyên có dấu:
– Bước 1: Chuyển đổi số chia và số bị chia 
thành số dương tương ứng
– Bước 2: Chia 2 số bằng thuật giải chia số 
nguyên không dấu → Thu được thương và 
dư đều dương
– Bước 3: Hiệu chỉnh dấu của kết quả theo quy 
tắc sau:
108
109
vi. Tính toán logic với số nhị phân 
a b a AND b a OR b a XOR b
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
• Các phép toán logic với cặp bit nhị phân:
110
vi. Tính toán logic với số nhị phân (2) 
a NOT a
0 1
1 0
• Các phép toán logic với từng bit nhị phân:
111
vi. Tính toán logic với số nhị phân (3)
• Thực hiện các phép toán logic với 2 số nhị 
phân:
– Kết quả là 1 số nhị phân khi thực hiện các 
phép toán logic với từng cặp bit của 2 số nhị 
phân đó
– Các phép toán này chỉ tác động lên từng cặp 
bit mà không ảnh hưởng đến bit khác.
112
Ví dụ: Phép toán với 2 số nhị phân
• VD: A = 1010 1010 và B = 0000 111 
AND OR XOR NOT
1010 1010 01010101
0000 1111 11110000
00001010 10101111 10100101
Nhận xét:
+ AND: xoá một số bit và giữ nguyên 1 số bit còn lại
+ OR: Thiết lập 1 số bit và giữ nguyên 1 số bit còn lại
+ XOR: Đảo 1 số bit và giữ nguyên 1 số bit còn lại
+ NOT: Đảo tất cả các bit
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
1.3.1. Nguyên lý chung
1.3.2. Biểu diễn số nguyên
1.3.3. Biểu diễn số thực
1.3.4. Biểu diễn ký tự
113
114
a. Nguyên tắc chung
• Để biểu diễn số thực, trong máy tính 
người ta thường dùng ký pháp dấu chấm 
động (Floating Point Number)
• Ví dụ: 12.3 = 12.3 * 100
= 123 * 10-1
= 1.23 * 101
115
a. Nguyên tắc chung (2)
• Một số thực X được biểu diễn theo kiểu số 
dấu chấm động như sau:
X = M * RE
Trong đó:
– M là phần định trị (Mantissa)
– R là cơ số (Radix) thường là 2 hoặc 10.
– E là phần mũ (Exponent)
• 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)
116
Ví dụ - Biểu diễn số thực
• Với cơ số R = 10, giả sử 2 số thực N1 và 
N2 được lưu trữ theo phần định trị và số 
mũ như sau:
– M1 = -15 và E1 = +12
– M2 = +314 và E2 = -9
– Có nghĩa là 
N1 = M1 x 10 E1 = -15x1012
= -15 000 000 000 000
và
N2 = M2 x 10 E2 = 314 x 10-9
= 0.000 000 314
117
b. Phép toán với số thực
• 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ũ. 
118
c. Phép toán với số thực (2)
• Giả sử có 2 số dấu phẩy động sau:
– N1 = M1 x RE1 và N2 = M2 x RE2
• Khi đó, việc thực hiện các phép toán số 
học sẽ được tiến hành:
– N1 ± N2 = (M1 x R E1-E2± M2) x RE2 , 
(giả thiết E1 ≥ E2)
– N1 x N2 = (M1x M2) x R E1+E2
– N1 /N2 = (M1 / M2) x R E1-E2
119
c. Chuẩn IEEE 754/85
• Là chuẩn mã hóa số dấu chấm động
• Cơ số R = 2
• Có các dạng cơ bản:
– Dạng có độ chính xác đơn, 32-bit
– Dạng có độ chính xác kép, 64-bit
– Dạng có độ chính xác kép mở rộng, 80-bit
120
c. Chuẩn IEEE 754/85 (2)
Khuôn dạng mã hóa:
S e m
S e m
S e m
31 30 23 22 0
63 62 52 51 0
79 78 64 63 0
121
c. Chuẩn IEEE 754/85 (3)
• S là bit dấu, S=0 đó là số dương, S=1 đó 
là số âm.
• e là mã lệch (excess) của phần mũ E, tức 
là: E = e – b
Trong đó b là độ lệch (bias):
– Dạng 32-bit : b = 127, hay E = e - 127
– Dạng 64-bit : b = 1023, hay E = e - 1023
– Dạng 80-bit : b = 16383, hay E = e - 16383
122
c. Chuẩn IEEE 754/85 (4)
• 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
• Công thức xác định giá trị của số thực 
tương ứng là:
X = (-1)S x 1.m x 2e-b
S e m
123
Ví dụ 1
• 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 đó.
• Giải:
– S = 1 → X là số âm
– e = 1000 0010 = 130
– m = 10101100...00
– Vậy X = (-1)1 x 1.10101100...00 x 2130-127
= -1.101011 x 23 = -1101.011 = -13.375 
124
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:
0011 1111 1000 0000 0000 0000 0000 0000
• Giải:
– S = 0 → X là số dương
– e = 0111 1111= 127
– m = 000000...00
– Vậy X = (-1)0 x 1.0000...00 x 2127-127
= 1.0 x 20 = 1
125
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
• Giải:
X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 2
3
Ta có:
– S = 0 vì đây là số dương
– E = e – 127 nên e = 127 + 3 = 130(10) = 1000 
0010(2)
– m = 001101100...00 (23 bit)
X = 0100 0001 0001 1011 0000 0000 0000 0000
126
Các 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)
127
Trục số biểu diễn
• Dạng 32 bit: a = 2-127 ≈ 10-38 b = 2+127 ≈ 10+38
• Dạng 64 bit: a = 2-1023 ≈ 10-308 b = 2+1023 ≈ 10+308
• Dạng 80 bit: a = 2-16383 ≈ 10-4932 b = 2+16383 ≈ 10+4932
-0 +0-a b-b a
underflow
overflow overflow
+ − 
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm 
1.3. Biểu diễn dữ liệu trong máy tính
1.3.1. Nguyên lý chung
1.3.2. Biểu diễn số nguyên
1.3.3. Biểu diễn số thực
1.3.4. Biểu diễn ký tự
128
129
a. Nguyên tắc chung
• Các ký tự cũng cần được chuyển đổi 
thành chuỗi bit nhị phân gọi là mã ký tự.
• Số bit dùng cho mỗi ký tự theo các mã 
khác nhau là khác nhau. 
VD: Bộ mã ASCII dùng 8 bit cho 1 ký tự.
Bộ mã Unicode dùng 16 bit. 
130
a. Bộ mã ASCII
• 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 
• Bộ mã 8 bit → mã hóa được cho 28 = 256 
kí tự, có mã từ 00(16)  FF(16), bao gồm:
– 128 kí tự chuẩn có mã từ 00(16)  7F(16)
– 128 kí tự mở rộng có mã từ 80(16)  FF(16)
131
i. Ký tự chuẩn – Bộ mã ASCII
• 95 kí tự hiển thị được: Có mã từ 20(16) ÷ 7E(16)
– 26 chữ cái hoa Latin 'A' ÷ 'Z' có mã từ 41(16) ÷ 5A(16)
– 26 chữ cái thường Latin 'a' ÷ 'z' có mã từ 61(16) ÷
7A(16)
– 10 chữ số thập phân '0' ÷ '9' có mã từ 30(16) ÷ 39(16)
– Các dấu câu: . , ? ! : ; 
– Các dấu phép toán: + - * / 
– Một số kí tự thông dụng: #, $, &, @, ...
– Dấu cách (mã là 20(16))
• 33 mã điều khiển: mã từ 0016 ÷ 1F16 và 7F16
dùng để mã hóa cho các chức năng điều khiển
132
133
Ký tự điều khiển định dạng
BS Backspace - Lùi lại một vị trí: Ký tự điều khiển con trỏ lùi lại một vị trí. 
HT Horizontal Tab - Tab ngang: Ký tự điều khiển con trỏ dịch tiếp một khoảng đã 
định trước. 
LF Line Feed - Xuống một dòng: Ký tự điều khiển con trỏ chuyển xuống dòng 
dưới. 
VT Vertical Tab - Tab đứng: Ký tự điều khiển con trỏ chuyển qua một số dòng đã 
định trước. 
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. 
134
Ký tự điều khiển truyền số liệu
SOH Start of Heading - Bắt đầu tiêu đề: Ký tự đánh dấu bắt đầu phần thông tin tiêu 
đề. 
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. 
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. 
135
Ký tự điều khiển phân cách thông tin
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 tin. 
GS Group Separator - Ký hiệu phân cách nhóm: Đánh dấu ranh giới giữa các 
nhóm tin (tập hợp các bản ghi). 
RS Record Separator - Ký hiệu phân cách bản ghi: Đánh dấu ranh giới giữa các 
bản ghi. 
US Unit Separator - Ký hiệu phân cách đơn vị: Đánh dấu ranh giới giữa các phần 
của bản ghi. 
136
Các ký tự điều khiển khác
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. 
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. 
137
b. Ký tự mở rộng – Bộ mã ASCII
• Được định nghĩa bởi:
– Nhà chế tạo máy tính
– Người phát triển phần mềm
• Ví dụ:
– Bộ mã ký tự mở rộng của IBM: được dùng trên máy 
tính IBM-PC.
– Bộ mã ký tự mở rộng của Apple: được dùng trên máy 
tính Macintosh.
– Các nhà phát triển phần mềm tiếng Việt cũng đã thay 
đổi phần này để mã hoá cho các ký tự riêng của chữ 
Việt, ví dụ như bộ mã TCVN 5712. 
138
c. Bộ mã Unicode
• Do các hãng máy tính hàng đầu thiết kế
• Là bộ mã 16-bit, Vậy số ký tự có thể biểu 
diễn (mã hoá) là 216
• Được thiết kế cho đa ngôn ngữ, trong đó 
có tiếng Việt
Thảo luận
139

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_chuong_1_thong_tin_va_bieu_dien.pdf