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

Pocket

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