Nội dung
TRƯỜNG ĐẠI HỌC B\CH KHOA H[ NỘI VIỆN CÔNG NGHỆ THÔNG TIN V[ TRUYỀN THÔNG
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
TIN HỌC ĐẠI CƯƠNG Phần 1. Tin học căn bản
Bài 1: Thông tin và biểu diễn thông tin
2 Copyright by SOICT
Nội dung
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) v{ ph}n loại 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
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) v{ ph}n loại 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
1
3 4 Copyright by SOICT Copyright by SOICT
a. Thông tin (Information)
b. Dữ liệu (Data)
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ữ liệu là biểu diễn của thông tin được thể hiện bằng c|c tín hiệu vật lý.
Ký hiệu qui ước (chữ viết, …)
Dự b|o thời tiết
Dữ liệu l{ vật mang thông tin
Thông tin có thể truyền từ người n{y sang người khác
Thời sự
Số liệu (bảng biểu)
Thông tin l{ kết quả xử lý, điều khiển v{ tổ chức dữ liệu theo c|ch m{ nó sẽ bổ sung thêm tri thức cho người nhận
5
Tín hiệu vật lý (]m thanh, nhiệt độ, |p suất, …) 6
Copyright by SOICT Copyright by SOICT
c. Xử lý dữ liệu (Data processing)
c. Xử lý dữ liệu (2)
• Thông tin nằm trong dữ liệu Cà n phả i xử lý dữ lie
̣u đẻ
• Khi dữ lie
̣u ít, có thể
làm thủ công
thu đượ c thông tin cà n thiét, hữ u ích phụ c vụ cho con ngườ i
• Khi dữ lie
̣u nhiều lên, các công việc lặp đi lặp lại ???
• Quá trình xử lý dữ lie
̣u
XỬ LÝ (PROCESSING)
XUẤT (OUTPUT)
NHẬP (INPUT)
LƯU TRỮ (STORAGE)
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ữ lie
̣ u.
2
7 Copyright by SOICT Copyright by SOICT 8 8
Nội dung
1.1.2. Máy tính điện tử
• Má y tính đie
̣n tử
(Computer): L{ thiết bị điện tử có khả năng xử lý dữ liệu theo chương trình định sẵn.
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) v{ ph}n loại 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
• Trong m|y tính mọi thông tin đều được biểu diễn bằng số nhị ph}n.
9 Copyright by SOICT Copyright by SOICT 10 10
Máy tính điện tử có mặt ở khắp nơi
Phân loại MTĐT
• Theo khả năng sử dụng chung:
– Máy tính lớn (Mainframe) v{ Siêu má y tính
(Super Computer)
– M|y tính tầm trung (Mini Computer) – Máy vi tính ( Micro Computer)
11
12
3
Copyright by SOICT Copyright by SOICT
i. Máy tính lớn/Siêu máy tính
S
u
̣ rá t nhanh
p
̣n nghiên cứ u
e
r
C
• Phứ c tạ p, có tó c đo • Sử dụng trong c|c công ty lớn/vie • 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)
o
m
p
u
t
e
13
14 Copyright by SOICT Copyright by SOICT
r
ii. Máy tính tầm trung (Mini computer)
iii. Máy vi tính (Micro computer)
• Cũng giống như c|c m|y Mainframe • Sự kh|c biệt chính:
• Sử dụng bộ 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
– 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)
̣ n thoạ i di do
̣ ng, má y tính bỏ tú i
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ư đie – ...
4
15 16 Copyright by SOICT Copyright by SOICT
Máy tính nhúng (Embedded computer)
Máy tính cá nhân (Personal Computer – PC)
Máy tính để bàn
Máy tính bảng
• Là má y tính chuyên dụ ng
(special-purpose computer)
Laptop
• 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
• M|y tính để b{n – Desktop Computer • Máy tính di đo ̣ 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
18
17 Copyright by SOICT Copyright by SOICT
PDA
Lịch sử phát triển của máy tính
i. Thế hệ đầu (1950 – 1958)
• Sự ph|t triển về công nghệ Sự ph|t triển
về m|y tính
Bóng đèn ch}n không (vacumm tube)
Intergrated Circuit
Vacuum tubes
Transistor
• 1930’s: Bóng đèn chân không được sử dụng làm các bảng mạch tín hiệu điều khiển (electric circuits or switches)
19
20
• Điều khiển bằng tay, kích thước rất lớn
5
Copyright by SOICT Copyright by SOICT
ENIAC
UNIVAC I (1947), UNIVAC II (1950s)
ENIAC - Electronic Numerical Integrator and Calculator
UNIVAC I - UNIVersal Automatic Computer
̣n tử đầu tiên (1946) với công nghệ bóng chân
• Là máy tính thương mại đầu tiên
• Thực hiện 30000 phép toán / 1 giây
21
22
• Máy tính đie không: – Decimal (not binary) – 18,000 vacuum tubes, 30 tons, 15,000 square feet – 140 kW power consumption – 5,000 additions per second
Copyright by SOICT Copyright by SOICT
ii. Thế hệ thứ hai (1958 – 1964)
Máy tính sử dụng transistor
Máy tính thế hệ thứ 2
TRADIC - TRAnsistorized Airborne DIgital Computer
• 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
Công nghệ b|n dẫn (diodes, transistors) • 1947: Bóng bán dẫn (Transistors) được phát minh tại
Bell Laboratories
• Nhỏ hơn
• Rẻ hơn.
23
24
• Vật liệu Silicon (từ cát) • Bóng bán dẫn được sử dụng thay bóng đèn chân không • Nhỏ hơn, rẻ hơn
6
Copyright by SOICT Copyright by SOICT
Máy tính sử dụng transistor
iii. Thế hệ thứ ba (1965 – 1974)
Công nghệ mạch tích hợp (IC – integrated circuit)
IBM 7030 (Mỹ, 1961)
MINSK (Liên Xô, 1961)
• 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
26
25 Copyright by SOICT Copyright by SOICT
Vi mạch – Integrated Circuit
IBM 360 System
• Máy mainframe của IBM (1964)
• Nhỏ hơn,
• Rẻ hơn,
• Hiệu quả hơn
•Thiết kế trên công nghệ mạch tích hợp (IC)
•Tốc độ tính toán cao (cỡ MIPS)
27
28
7
Copyright by SOICT Copyright by SOICT
iv. Thế hệ thứ tư (1974 – nay)
Vi xử lý (Microprocessor)
Vi xử lý (Microprocessor) • Microprocessor = Central Processing Unit (CPU) thiết kế trong 1 vi mạch đơn
• 1971 : Intel 4004
29
30
Copyright by SOICT Copyright by SOICT
1975 – Altair 8800
1981 – IBM PC
Máy tính cá nhân đầu tiên – Altair 8800
Thế hệ máy tính cá nhân mới với kiến trúc mở IBM
31
32
8
Copyright by SOICT Copyright by SOICT
1984 – Apple Macintosh
1990 - … Personal Computers
• Tốc độ vi xử lý tăng nhanh:
• CPU 1 lõi,
• CPU đa lõi
• Kiến trúc ít thay đổi
33
34 Copyright by SOICT Copyright by SOICT
Thế hệ thứ tư (tiếp)
Thế hệ thứ tư (tiếp)
Pentium
L
a
p
t
o
Má y
p
tính
đẻ
bà n
Copyright by SOICT
9
35 36 Copyright by SOICT
Thế hệ thứ tư (tiếp)
Pro
III
Itanium 64-bit Intel Microprocessors
IV
More Pentium
Copyright by SOICT
Copyright by SOICT
37 38 38
v. Thế hệ 5 (1990 - nay)
Thế hệ thứ tư (tiếp)
• Artificial Intelligence (AI) • Công nghệ vi điện tử với
N
e
tốc độ tính to|n cao v{ xử lý song song.
• Mô phỏng c|c hoạt động
t
w
của n~o bộ v{ h{nh vi con người
o
• Có trí khôn nh}n tạo với
r
k
khả năng tự suy diễn ph|t triển c|c tình huống nhận được
10
39 40 Copyright by SOICT Copyright by SOICT
Xu hướng ngày nay
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) v{ ph}n loại 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
• Nhanh hơn • Nhỏ hơn • Rẻ hơn • Dễ sử dụng
hơn
41 42 Copyright by SOICT Copyright by SOICT
1.1.3. Tin học và các ngành liên quan
a. Tin học (Informatics)
• 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
• 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{
and Communication Technology – ICT).
“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
11
43 44 Copyright by SOICT Copyright by SOICT
a. Tin học (2)
b. Công nghệ thông tin
• Tin học được xem l{ ng{nh khoa học nghiên
• Information Technology (IT) • Xuất hiện ở Việt nam v{o những năm 90 của
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.
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.
• 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
(Information Technology Association of America)
phần: – Kỹ thuật phần cứng (Hardware engineering) – Kỹ thuật phần mềm (Software engineering)
45 46 Copyright by SOICT Copyright by SOICT
c. Công nghệ thông tin và truyền thông (ICT)
b. Công nghệ thông tin (2)
• Mo
̣ t ngà nh sử dụ ng he
• 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
̣ t giả i phá p xử lý thông tin cho cá c cá nhân,
̣ 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 mo tỏ chứ c có yêu cà u
• L{ thuật ngữ mới, nhấn mạnh sự không thể t|ch
• Có ả nh hưở ng và đượ c ứ ng dụ ng trong nhièu
ngà nh nghè khá c nhau củ a xã ho
̣ i
• C|c ứng dụng ng{y nay của IT:
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
– 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…
12
47 48 Copyright by SOICT Copyright by SOICT
Nội dung
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
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
49 50 Copyright by SOICT Copyright by SOICT
1.2.1. Hệ đếm
1.2.1. Hệ đếm (2)
• L{ tập hợp c|c ký hiệu v{ qui tắc để biểu
• Về mặt to|n học, ta có thể biểu diễn 1 số
diễn v{ x|c định gi| trị c|c số.
theo hệ đếm cơ số bất kì.
• Khi nghiên cứu về m|y tính, ta quan t}m đến
• 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.
c|c hệ đếm sau đ}y: – Hệ thập ph}n (Decimal System) → con người sử
dụng
• Ví dụ: Trong hệ đếm cơ số 10, dùng 10 ký tự
– Hệ nhị ph}n (Binary System) → m|y tính sử
l{: c|c chữ số từ 0 đến 9.
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
13
51 52 Copyright by SOICT Copyright by SOICT
a. Hệ đếm thập phân (Decimal System)
a. Hệ đếm thập phân (2)
• Hệ đếm thập ph}n hay hệ đếm cơ số 10 bao
• 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
gồm 10 ký số theo ký hiệu sau: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Gi| trị của A được hiểu như sau:
• 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
53 54 Copyright by SOICT
a. Hệ đếm thập phân (3)
b. Hệ đếm cơ số b (với b ≥ 2, nguyên)
• Có b ký tự để thể hiện gi| trị số. Ký số
• 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ư
nhỏ nhất l{ 0 v{ lớn nhất l{ b-1. • Số A(b) trong hệ đếm cơ số (b) được
biểu diễn bởi:
sau: 254.68 = 2 x 102 + 5 x 101 + 4 x 100 + 6 x 10-1 + 8 x
10-2
A(b)=anan-1an-2…a1a0.a-1a-2…a-m • Gi| trị của A (trong hệ 10) là: 𝑨 = 𝒂𝒏𝒃𝒏 + 𝒂𝒏−𝟏𝒃𝒏−𝟏 + … + 𝒂𝟎𝒃𝟎 + 𝒂−𝟏𝒃−𝟏 + … + 𝒂−𝒎𝒃−𝒎 = 𝒂𝒊𝒃𝒊
𝒏 −𝒎
14
55 56 Copyright by SOICT Copyright by SOICT
c. Hệ đếm nhị phân (Binary System)
c. Hệ đếm nhị phân (3)
• 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
• Sử dụng 2 chữ số: 0,1 (b=2) • 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
• Với ai l{ c|c chữ số nhị ph}n, khi đó
gi| trị của A l{:
57 58 Copyright by SOICT
c. Hệ đếm nhị phân (4)
c. Hệ đếm nhị phân (4)
• Ví dụ 1: Số 11101.11(2) sẽ tương đương với
• Ví dụ 2:
gi| trị thập ph}n l{ :
Số nhị phân 1101001.1011 có giá trị: 1101001.1011(2) = 26 + 25 + 23 + 20 + 2-1 +
2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10)
15
59 60 Copyright by SOICT Copyright by SOICT
d. Hệ đếm bát phân (2)
d. Hệ đếm bát phân (3)
• Sử dụng c|c chữ số: 0,1,2,3,4,5,6,7 • 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ố trong hệ b|t ph}n, khi đó
• Ví dụ: 235 . 64 (8) có gi| trị như sau: 235 . 64 (8) = 2x82 + 3x81 + 5x80 + 6x8-1 + 4x8-2 = 157. 8125 (10)
gi| trị của A l{:
61 62 Copyright by SOICT
e. Hệ đếm 16, Hexadecimal, b=16
e. Hệ đếm 16 (2)
• Giả sử có số A được biểu diễn theo hệ thập
• Sử dụng 16 ký số:
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{:
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
16
63 64
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
= 3x164 + 4x163 + 15x162 + 5x161 + 12x160 +? = 216294(10) + ?
• Ví dụ: 34F5C.12D(16) có gi| trị như sau: 34F5C.12D(16)
65 66 Copyright by SOICT Copyright by SOICT
1.2.2. Chuyển đổi cơ số
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
• Trường hợp tổng qu|t, một số N trong hệ
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ập ph}n (N(10)) gồm phần nguyên v{ phần thập ph}n.
thương số l{ T2 , số dư là d2
• Chuyển 1 số từ hệ thập ph}n sang 1 số ở hệ
(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
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
thương số l{ Tn =0, số dư là dn
sang hệ b
• 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
– Đổi phần thập phân (của số đó) từ hệ thập phân
sang hệ cơ số b
Phần nguyên của N(10) = dndn-1…d1 (b)
17
67 68 Copyright by SOICT Copyright by SOICT
a. Chuyển đổi phần nguyên (2)
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)
• 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
• Bước 2: Nếu y1 khác 0, tiếp tục lấy 0.y1 nhân
c|c số dư như sau
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.x1x2…xn (b)
69 70 Copyright by SOICT Copyright by SOICT
Ví dụ: Chuyển từ thập phân sang nhị phân
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:
• 12.6875(10) = 1100.1011 (2)
• 69.25(10) = ?(2)
18
71 72 Copyright by SOICT Copyright by SOICT
Cách 2: Tính nhẩm
Một số ví dụ
• Nhị ph}n Hexa: 11 1011 1110 0110(2) = ?
– 11 1011 1110 0110(2) = 3BE6(16)
• Hexa Nhị ph}n:
• Phân tích số đó thành tổng các lũy thừa của 2, sau đó dựa vào các số mũ để xác định dạng biểu diễn nhị phân
AB7(16) = ?
– AB7(16) = 1010 1011 0111(2) • Hexa Thập ph}n: 3A8C ?
Nhanh hơn. • Ví dụ: 69.25(10) = 64 + 4 + 1+ ¼
= 26 + 22 + 20 + 2-2 = 1000101.01(2)
3A8C (16) = 3 x 163 + 10 x 162 + 8 x 161
+12 x 160 = 12288 + 2560 + 128 + 12 = 14988(10)
73 74 Copyright by SOICT Copyright by SOICT
Một số ví dụ (tiếp)
Bài tập
•
Thập ph}n Hexa: 14988 ?
• Chuyển sang hệ nhị ph}n
– 124.75 – 65.125
14988 : 16 = 936 : 16 = 58 : 16 = 3 : 16 =
936 dư 12 tức l{ C 58 dư 3 dư 0 dư
8 10 tức l{ A 3
Như vậy, ta có: 14988(10) = 3A8C(16)
19
75 76 Copyright by SOICT Copyright by SOICT
Nội dung
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ự
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ự
77 78 Copyright by SOICT Copyright by SOICT
1.3.1. Nguyên lý chung
a. Nguyên tắc mã hóa dữ liệu
• Mọi dữ liệu khi đưa vào máy tính đều phải
• Mã hóa dữ liệu nhân tạo:
được mã hóa thành số nhị phân
• Các loại dữ liệu:
– Dữ liệu số: Mã hóa theo các chuẩn quy ước – Dữ liệu ký tự: Mã hóa theo bộ mã ký tự
• Mã hóa dữ liệu tự nhiên:
– Dữ liệu nhân tạo: Do con người quy ước – Dữ liệu tự nhiên:
– Các dữ liệu cần phải số hóa trước khi đưa vào
máy tính
• Tồn tại khách quan với con người. • Phổ biến là các tín hiệu vật lý như âm thanh, hình
– Theo sơ đồ mã hóa và tái tạo tín hiệu vật lý
ảnh,…
20
79 80 Copyright by SOICT Copyright by SOICT
Sơ đồ mã hóa và tái tạo tín hiệu vật lý
b. Các dạng dữ liệu trong máy tính
• Dạng cơ bản
– Số nguyên: Mã nhị phân thông thường (không
dấu) và mã bù hai (có dấu) – Số thực: Số dấu chấm động – Ký tự: Bộ mã ký tự
• Dạng có cấu trúc
– Là tập hợp các loại dữ liệu cơ bản được cấu
thành theo một cách nào đó.
– Ví dụ: Kiểu dữ liệu mảng, xâu ký tự, tập hợp, bản
ghi,…
• Ví dụ: MODEM: MOdulator and DEModulator
(Điều chế và Giải điều chế)
81 82 Copyright by SOICT Copyright by SOICT
c. Đơn vị thông tin
Nội dung
• Đơn vị nhỏ nhất để biểu diễn thông tin l{
BIT (Binary DigIT)
• C|c đơn vị biểu diễn lớn hơn
Tên gọi
Ký hiệu
Giá trị
Byte
B
8 bit
KiloByte
KB
210 B = 1024 Byte
MegaByte
MB
220 B = 1024 KB
GigaByte
GB
230 B = 1024 MB
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ự
TeraByte
TB
240 B = 1024 GB
Petabyte
PB
250 B = 1024 TB
Exabyte
EB
260 B = 1024 PB
21
83 84 Copyright by SOICT Copyright by SOICT
1.3.2. Biểu diễn số nguyên
a. Số nguyên không dấu
• Dạng tổng qu|t: giả sử dùng n bit để biểu diễn
• Dùng 1 chuỗi bit để biểu diễn. • 2 trường hợp:
cho một số nguyên không dấu A: an-1an-2...a3a2a1a0 • Gi| trị của A được tính như sau:
– Số nguyên không dấu – Số nguyên có dấu
• Dải biểu diễn của A: [0, 2n-1]
85 86 Copyright by SOICT
Ví dụ 2
Ví dụ 1
• Cho c|c số nguyên không dấu X, Y được biểu
• Biểu diễn c|c số nguyên không dấu sau đ}y
bằng 8 bit:
A = 45
B = 156
diễn bằng 8 bit như sau:
X = 0010 1011 Y = 1001 0110
Giải:
X = 0010 1011 = 25 + 23 + 21 + 20
= 32 + 8 + 2 + 1 = 43
Giải: A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 A = 0010 1101(2) B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 B = 1001 1100 (2)
Y = 1001 0110 = 27 + 24 + 22 + 21
= 128 + 16 + 4 + 2 = 150
22
87 88 Copyright by SOICT Copyright by SOICT
Trường hợp cụ thể: với n = 8 bit
Với n = 16 bit, 32 bit, 64 bit
• n = 16 bit:
Trục số học m|y tính:
– Dải biểu diễn l{ [0, 65535]
• n = 32 bit:
– Dải biểu diễn l{ [0, 232-1]
• n = 64 bit:
– Dải biểu diễn l{ [0, 264-1]
255
• Dải biểu diễn l{ [0, 255] 0 0000 0000 = 1 0000 0001 = 2 0000 0010 = 0000 0011 = 3 ..... 1111 1111 = • Trục số học:
Copyright by SOICT
89 90 Copyright by SOICT
b. Biểu diễn số nguyên có dấu
i. 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
• Số nguyên có dấu gồm: số }m, số
dương
• Sử dụng bit đầu tiên l{m bit dấ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
– 0 cho số dương – 1 cho số }m
• Ví dụ
• Biểu diễn số }m bằng số bù 2
– 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
23
91 92 Copyright by SOICT Copyright by SOICT
Nhận xét
ii. Biểu diễn số nguyên có dấu
• Ví dụ (trước)
• Biểu diễn số }m bằng số bù 2 • Ví dụ: Biểu diễn số nguyên có dấu sau đ}y (bằng 8
bit): A = - 70(10)
– 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
+ 1
ngược tất cả c|c bit
1011 1010
Biểu diễn 70 = 0100 0110 Bù 1: 1011 1001 (nghịch đảo c|c bit) Bù 2: Vậy: A = 1011 1010(2)
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
93 94 Copyright by SOICT Copyright by SOICT
ii. Biểu diễn số nguyên có dấu (tiếp)
Ví dụ
• Dạng tổng qu|t của số nguyên có dấu A:
• X|c định gi| trị của c|c số nguyên có dấu 8
A = an-1an-2...a2a1a0 • Gi| trị của A được x|c định như sau:
A = 0101 0110 B = 1101 0010
A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 B = -27 + 26 + 24 + 21 = = -128 + 64 + 16 + 2 = -46
bit sau đ}y: Giải:
• Dải biểu diễn: [-2n-1, 2n-1-1] 10000…000 ………. 01111…111 • Nhận xét: Với số dương, số }m?
24
95 96 Copyright by SOICT
Trường hợp cụ thể: với n = 8 bit
c. Tính toán số học với số nguyên
• Phép cộng/trừ số nguyên (không dấu/có
• Dải biểu diễn l{ [-128, 127]
• Trục số học m|y tính
dấu)
• Ph}n nh}n, phép chia số nguyên
0000 0000 = 0 0000 0001 = +1 0000 0010 = +2 ....... 01111111 = +127 10000000 = -128 10000001 = -127 ....... 1111 1110 = -2 1111 1111 = -1
Copyright by SOICT
97 98 Copyright by SOICT
Tính toán trong hệ nhị phân
c. Tính toán số học với số nguyên (2)
• 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
110 + 111 --------- 1101
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-1 thì khi đó sẽ tr{n
• Phép cộng: 1+0=0+1=1; 0+0=0; 1+1=10; • Phép trừ:
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
1101 - 111 --------- 110
0-1=1; (vay 1) 1-1=0; 0-0=0; 1-0=1
25
99 100 Copyright by SOICT Copyright by SOICT
Ví dụ: Cộng trừ số nguyên không dấu
c. Tính toán số học với số nguyên (3)
• Dùng 8 bit để biểu diễn số nguyên không
• Cộng số nguyên có dấu
dấu
• Cộng lần lượt c|c cặp bit từ phải qua tr|i,
• Trường hợp không xảy ra tr{n số (carry-
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:
out):
X = 1001 0110 = 150 Y = 0001 0011 = 19 S = 1010 1001 = 169 Cout = 0
• Nếu tổng nhận được cùng dấu với 2 số hạng
thì kết quả l{ đúng
• Trường hợp có xảy ra tr{n số (carry-out):
• 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
X = 1100 0101 = 197 Y = 0100 0110 = 70 S = 0000 1011 267 Cout = 1 carry-out
– (KQ sai = 23 + 21 + 20 = 11)
101 102 Copyright by SOICT Copyright by SOICT
Ví dụ: Cộng/trừ số nguyên có dấu
Ví dụ: Cộng/trừ số nguyên có dấu
• Có xảy ra tr{n số:
• VD: không tr{n số
26
103 104 Copyright by SOICT Copyright by SOICT
c. Tính toán số học với số nguyên (4)
c. Tính toán số học với số nguyên (4)
• Trừ số nguyên có dấu
• Nh}n/chia số nguyên không 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ó).
– C|c bước thực hiện như trong hệ 10 – VD: Phép nhân 1011 (11 cơ số 10) x 1101 (13 cơ số 10)
– Ví dụ:
Nhận xét
------------- 1011 0000 1011 1011
--------------
10001111 (143 cơ số 10)
105 106 Copyright by SOICT Copyright by SOICT
c. Tính toán số học với số nguyên (5)
c. Tính toán số học với số nguyên (6)
• Nhân/chia số nguyên có dấu:
• Phép chia số nguyên không dấu
– Bước 1: Chuyển đổi th{nh số dương tương ứng – Bước 2: Thực hiện nh}n/chia với số nguyên – Bước 3: Hiệu chỉnh dấu của kết quả.
Copyright by SOICT
27
107 108 Copyright by SOICT
Nội dung
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 = 1.23 * 101 = 123 * 10-1
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ự
109 110 Copyright by SOICT Copyright by SOICT
Ví dụ - Biểu diễn số thực
a. Nguyên tắc chung (2)
• Một số thực X được biểu diễn theo kiểu số
X = M * RE
dấu chấm động như sau:
Trong đó:
• 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{
– 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)
= -15 000 000 000 000
• Với R cố định thì để lưu trữ X ta chỉ cần lưu
N1 = M1 x 10 E1 = -15x1012 và N2 = M2 x 10 E2 = 314 x 10-9
trữ M v{ E (dưới dạng số nguyên)
= 0.000 000 314
28
111 112 Copyright by SOICT Copyright by SOICT
b. Phép toán với số thực
c. Phép toán với số thực (2)
• Khi thực hiện phép to|n với số dấu chấm
• Giả sử có 2 số dấu phẩy động sau: – N1 = M1 x RE1 và N2 = M2 x RE2
độ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ũ.
• 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
113 114 Copyright by SOICT Copyright by SOICT
c. Chuẩn IEEE 754/85 (2)
c. Chuẩn IEEE 754/85
Khuôn dạng m~ hóa:
31
0
30
23 22
S
e
m
• L{ chuẩn m~ hóa số dấu chấm động • Cơ số R = 2 • Có c|c dạng cơ bản:
0
52 51 m
63 62 S e
– 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
79 78
64 63
0
S e
m
29
116 115 Copyright by SOICT
c. Chuẩn IEEE 754/85 (3)
c. Chuẩn IEEE 754/85 (4)
• S l{ bit dấu, S=0 đó l{ số dương, S=1 đó l{ số
• m l{ c|c bit phần lẻ của phần định trị M,
âm.
• e l{ m~ lệch (excess) của phần mũ E, tức l{:
phần định trị được ngầm định như sau: M = 1.m
E = e – b
• Công thức x|c định gi| trị của số thực tương
Trong đó b l{ độ lệch (bias):
ứng l{:
X = (-1)S x 1.m x 2e-b
– 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
S
e
m
117 118 Copyright by SOICT
Ví dụ 1
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:
• 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
0011 1111 1000 0000 0000 0000 0000 0000
• Giải:
X|c định gi| trị thập ph}n của số thực đó. • 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
– 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
30
119 120 Copyright by SOICT Copyright by SOICT
Ví dụ 3
Các quy ước đặc biệt
• Biểu diễn số thực X = 9.6875 về dạng số dấu chấm
• Nếu tất cả c|c bit của e đều bằng 0, các bit
động theo chuẩn IEEE 754 dạng 32 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 =
• Giải: X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 23 Ta có:
• 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)
– 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
121 122 Copyright by SOICT Copyright by SOICT
Nội dung
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
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ự
X = (-1)S x 1.m x 2e-127
31
123 124 Copyright by SOICT
a. Nguyên tắc chung
a. Bộ mã ASCII
• Do ANSI (American National Standard
• C|c ký tự cũng cần được chuyển đổi th{nh
Institute) thiết kế
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.
• 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
VD: Bộ m~ ASCII dùng 8 bit cho 1 ký tự. Bộ mã Unicode dùng 16 bit.
• 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)
125 126 Copyright by SOICT Copyright by SOICT
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
32
127 128 Copyright by SOICT Copyright by SOICT
Các ký tự điều khiển
b. Ký tự mở rộng
• Ký tự điểu khiển định dạng: BackSpace, HT,
VT, LF, CR, …
• 128 ký tự nửa sau (80-FF) • Đượ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ụ:
• C|c ký tự điều khiển truyền thông • Ký tự điều khiển ph}n c|ch thông tin • C|c ký tự điều khiển kh|c
– 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.
129 130 Copyright by SOICT Copyright by SOICT
c. Bộ mã Unicode
• Do các nhiều công ty 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
33
131 Copyright by SOICT