1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cấu trúc máy tính: Chương 2 - Phạm Ngọc Hưng

106 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Biểu Diễn Dữ Liệu & Số Học Máy Tính
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Cấu Trúc Máy Tính
Thể loại Bài Giảng
Định dạng
Số trang 106
Dung lượng 1,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Biểu diễn dữ liệu & số học máy tính là nội dung chính của chương 2 thuộc bộ bài giảng Cấu trúc máy tính của Phạm Ngọc Hưng. Đến với chương này các bạn sẽ được tìm hiểu về các hệ đếm cơ bản. Cùng tìm hiểu để nắm bắt nội dung thông tin tài liệu.

Trang 1

Cấu trúc máy tính

Chương 2

BIỂU DIỄN DỮ LIỆU

& SỐ HỌC MÁY TÍNH

Trang 2

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 3

 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ười s|u (Hexadecimal System) → dùng để viết gọn cho

số nhị ph}n

Trang 4

n n

n n

a A

a a

a a

a a

A

10

10

1010

10

Trang 5

Ví dụ

 Số thập ph}n 472.38 có gi| trị được hiểu như sau:

472.38 = 4 x 102 + 7 x 101 + 2 x 100 + 3 x 10-1 + 8 x 10-2

Trang 6

Mở rộng cho hệ cơ số r (r>1)

 Sử dụng r chữ số có gi| trị riêng từ 0 đến r-1 để biểu diễn số

 Giả sử có số A được biểu diễn bằng c|c chữ số của hệ đếm theo

cơ số r như sau:

i i

m m

n n

n n

r a A

r a r

a r

a r

a r

a r

a r

a

Trang 7

Hệ nhị phân

 Sử dụng 2 chữ số: 0,1

 Chữ số nhị ph}n gọi l{ bit (binary digit)

 Bit l{ đơn vị thông tin nhỏ nhất

 Dùng n bit có thể biểu diễn được 2n gi| trị kh|c nhau:

n

a

A 2 12 1 121 020 12 1 22 2 2

Trang 8

Ví dụ

 Số nhị ph}n 1101001.1011 có gi| trị được x|c định như sau:

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)

Trang 9

Đổi số thập phân sang nhị phân

 Thực hiện chuyển đổi phần nguyên v{ phần lẻ riêng

 Chuyển đổi phần nguyên:

 Cách 1: chia dần số đó cho 2, x|c định c|c phần dư, rồi viết c|c số dư theo chiều ngược lại

 Ví dụ: chuyển đổi 105(10) sang hệ nhị ph}n ta l{m như sau:

Trang 10

Đổi số thập phân sang nhị phân

 Chuyển đổi phần nguyên (tiếp):

 Cách 2: 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

Trang 11

3 Hệ mười sáu (Hexa)

Trang 13

Chuyển đổi nhanh

 105 = 6x16 + 9 = 69(16)= 110 1001

 35 = 2x16 + 3 = 23(16) = 10 0011

Trang 14

2BC5 -

Trang 15

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 16

Mã hóa và lưu trữ dữ liệu

1 Nguyên tắc chung về m~ hóa dữ liệu

2 Lưu trữ thông tin trong bộ nhớ chính

Trang 17

1 Nguyên tắc chung về mã hóa dữ liệu

 Mọi dữ liệu đư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 :

 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

Trang 18

Nguyên tắc mã hóa dữ liệu

 M~ hóa dữ liệu nh}n tạo:

 Dữ liệu số nguyên: m~ hóa theo chuẩn qui ước

 Dữ liệu số thực: m~ hóa bằng số dấu chấm động

 Dữ liệu ký tự: m~ hóa theo bộ m~ ký tự

Trang 19

Nguyên tắc mã hóa dữ liệu (tiếp)

 M~ hóa dữ liệu tự nhiên:

 Phổ biến l{ c|c tín hiệu vật lý như }m thanh, hình ảnh,

 C|c dữ liệu tự nhiên cần phải được số hóa (digitalized) trước khi đưa vào trong máy tính

 Sơ đồ m~ hóa v{ t|i tạo tín hiệu vật lý:

Trang 20

Độ dài từ dữ liệu

 Độ d{i từ dữ liệu:

 L{ số bit được sử dụng để m~ hóa loại dữ liệu tương ứng

 Trong thực tế, độ d{i từ dữ liệu thường l{ bội số của 8 bit, ví dụ: 8, 16, 32, 64 bit

 1GB = 210MB = 220 KB = 230 Byte

 4GB = 232 Byte

Trang 21

2 Lưu trữ thông tin trong bộ nhớ chính

 Bộ nhớ chính thường được tổ chức theo Byte

 Độ d{i từ dữ liệu có thể chiếm 1 hoặc nhiều Byte

 Cần phải biết thứ tự lưu trữ c|c byte trong bộ nhớ

chính:

 Lưu trữ kiểu đầu nhỏ (Little-endian)

 Lưu trữ kiểu đầu to (Big-endian)

 Little-endian: Byte có ý nghĩa thấp hơn được lưu trữ trong bộ nhớ ở vị trí có địa chỉ nhỏ hơn

 Big-endian: Byte có ý nghĩa thấp hơn được lưu trữ

trong bộ nhớ ở vị trí có địa chỉ lớn hơn

Trang 22

Ví dụ

 Intel 80x86, Pentium: Little-endian

 Motorola 680x0, c|c bộ xử lý RISC: Big-endian

Trang 23

Bài tập

 Dữ liệu 16 bit có gi| trị l{ 5B9D được lưu trữ v{o bộ nhớ chính tổ chức theo kiểu Little-endian bắt đầu từ byte nhớ có địa chỉ l{ 1234 H~y x|c định nội dung c|c byte nhớ chứa lưu trữ dữ liệu đó dưới dạng nhị ph}n

Trang 24

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 25

Biểu diễn số nguyên

1 Số nguyên không dấu

2 Số nguyên có dấu

3 Biểu diễn số nguyên theo m~ BCD

Trang 26

1 Số nguyên không dấu

 Dạng tổng qu|t: giả sử dùng n bit để biểu diễn 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:

 Dải biểu diễn của A: từ 0 đến 2n-1

1 1

2 2

1 1

2

2 2

2 2

n

i

i i

n n

n n

a A

a a

a a

A

Trang 29

Trường hợp cụ thể: với n = 8 bit

 Dải biểu diễn l{ [0, 255]

255 254

 Trục số học máy tính:

Trang 30

1 0000 0000

KQ sai: 255 + 1 = 0 ? (do phép cộng bị nhớ ra ngoài)

Trang 31

Với n = 16 bit, 32 bit, 64 bit

 n = 16 bit:

 Dải biểu diễn l{ [0, 65535]

 Kiểu dữ liệu tương ứng trong Turbo C l{ kiểu unsigned int

Trang 34

Nhận xét

 Có thể tìm số bù một của A bằng c|ch đảo tất cả c|c bit của A

 Số bù hai của A = Số bù một của A + 1

Trang 35

1 0000 0000 = 0 (bỏ qua bit nhớ ra ngo{i)

->Số bù hai của A=-A

Trang 36

Biểu diễn số nguyên có dấu

b 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:

an-1an-2 a2a1a0

 Với số dương:

 Bit an-1 = 0

 C|c bit còn lại biểu diễn độ lớn của số dương đó

Dạng tổng qu|t của số dương: 0an-2 a2a1a0

 Gi| trị của số dương:

Dải biểu diễn của số dương: [0, 2 n-1 -1]

a A

Trang 37

Biểu diễn số nguyên có dấu (tiếp)

 Dải biểu diễn của số }m: [-2 n-1 , -1]

 Dải biểu diễn của số nguyên có dấu n bit l{ [-2n-1, 2n-1-1]

n

i

i i

n

a A

Trang 38

Biểu diễn số nguyên có dấu (tiếp)

 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]

n

a A

Trang 41

Trường hợp cụ thể: với n = 8 bit

 Dải biểu diễn l{ [-128, +127]

-128

Trang 42

Với n = 8 bit (tiếp)

 Kiểu dữ liệu tương ứng trong Turbo C l{ kiểu char

1000 0000

KQ sai: 127 + 1 = -128 ? (do phép cộng bị tràn số học)

Trang 43

Với n = 16 bit, 32 bit, 64 bit

 n = 16 bit:

 Dải biểu diễn l{ [-32768, +32767]

 Kiểu dữ liệu tương ứng trong Turbo C l{ kiểu int

 n = 32 bit:

 Dải biểu diễn l{ [-231, 231-1]

 Kiểu dữ liệu tương ứng trong Turbo C l{ kiểu long int

 n = 64 bit:

 Dải biểu diễn l{ [-263, 263-1]

Trang 44

Chuyển từ 8 bit sang 16 bit

 Kết luận: mở rộng sang bên tr|i 8 bit bằng bit dấu

Trang 45

3 Biểu diễn số nguyên theo mã BCD

 BCD – Binary Coded Decimal (M~ hóa số nguyên thập ph}n bằng nhị ph}n)

 Dùng 4 bit để m~ hóa cho c|c chữ số thập ph}n từ 0 đến 9

Trang 48

Các kiểu lưu trữ số BCD

 BCD dạng nén (Packed BCD): Hai số BCD được lưu trữ trong 1 Byte

 Ví dụ số 52 được lưu trữ như sau:

 BCD dạng không nén (Unpacked BCD): Mỗi số BCD được lưu trữ trong 4 bit thấp của mỗi Byte

 Ví dụ số 52 được lưu trữ như sau:

0101 0010

Trang 49

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 50

Các phép toán số học với số nguyên

Trang 51

1 Bộ cộng

 Bộ cộng 1 bit to{n phần (Full Adder)

Trang 52

Bộ cộng (tiếp)

 Bộ cộng n bit

Trang 53

2 Cộng số nguyên không dấu

 Hiện tượng nhớ ra ngoài (Carry-out) xảy ra khi tổng

của 2 số nguyên không dấu n bit > 2n-1

Trang 54

VD cộng số nguyên không dấu 8 bit

 Trường hợp không xảy ra carry-out:

Trang 55

3 Cộng/trừ số nguyên có dấu

 Khi cộng hai số nguyên có dấu n bit, ta không quan

t}m đến bit Cout v{ kết quả nhận được cũng l{ n bit

 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

 Tr{n số học xảy ra khi tổng thực sự của hai số nằm ngo{i dải biểu diễn của số nguyên có dấu n bit:

[-2n-1, 2n-1-1]

Trang 57

Ví dụ cộng 2 số nguyên có dấu (không tràn)

Trang 58

Ví dụ cộng 2 số nguyên có dấu (Overflow)

Trang 59

4 Nhân số nguyên

a Nh}n số nguyên không dấu

b Nh}n số nguyên có dấu

Trang 60

a Nhân số nguyên không dấu

 C|c tích riêng phần được x|c định như sau:

 Nếu bit của số nh}n = 0 → tích riêng phần = 0

 Nếu bit của số nh}n = 1 → tích riêng phần = số bị nh}n

 Tích riêng phần tiếp theo được dịch tr|i 1 bit so với tích riêng phần

trước đó

 Tích = tổng c|c tích riêng phần

Trang 61

Bộ nhân số nguyên không dấu

Điều khiển dịch phải

Số bị nhân M

Số nhân Q

Trang 63

Ví dụ nhân số nguyên không dấu

Trang 64

b Nhân số nguyên có dấu

 Sử dụng thuật giải nh}n không 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 thì tích nhận được ở bước 2 l{ kết quả cần tính

 Nếu 2 thừa số ban đầu kh|c dấu nhau thì kết quả l{ số bù 2 của tích nhận được ở bước 2

Trang 65

Nhân số nguyên có dấu

 Sử dụng thuật giải Booth:

 Với số nh}n dương:

 Ta có: 2 i + 2 i-1 + … + 2 j = 2 i+1 - 2 j (với i  j)

 VD: M * 01110010 = M * (2 7 – 2 4 + 2 2 – 2 1 )

 Quy tắc: duyệt từ tr|i sang phải:

 Nếu gặp 10 thì trừ A đi M rồi dịch phải

 Nếu gặp 01 thì cộng A với M rồi dịch phải

 Nếu gặp 00 hay 11 thì chỉ dịch phải

Trang 66

Lưu đồ thực hiện thuật toán Booth

Trang 67

Ví dụ về thuật toán Booth

Trang 68

5 Chia số nguyên

a Chia số nguyên không dấu

b Chia số nguyên có dấu

Trang 69

a Chia số nguyên không dấu

 Ví dụ:

Trang 70

Bộ chia số nguyên không dấu

Điều khiển dịch trái

Số chia M

Số bị chia Q

Trang 71

A ¬ A  M

Q 0 ¬ 1

Bộ đếm ¬ Bộ đếm - 1

Trang 72

b 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: Sử dụng thuật giải chia số nguyên không dấu

để chia 2 số dương, kết quả nhận được l{ thương Q v{ phần dư R đều dương

 Bước 3: Hiệu chỉnh dấu kết quả theo quy tắc sau:

Trang 73

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 74

Biểu diễn số thực

1 Kh|i niệm về số dấu chấm tĩnh

2 Kh|i niệm về số dấu chấm động

3 Chuẩn IEEE 754/85

Trang 75

Biểu diễn số thực

 Quy ước: "dấu chấm" (point) được hiểu l{ kí hiệu

ngăn c|ch giữa phần nguyên v{ phần lẻ của 1 số thực

 Có 2 c|ch biểu diễn số thực trong m|y tính:

 Só dáu chám tĩnh (fixed-point number):

 Dấu chấm l{ cố định (số bit d{nh cho phần nguyên v{ phần lẻ l{ cố định)

 Dùng trong các bo ̣ vi xử lý hay vi đièu khiẻn thế hệ cũ

 Só dáu chám đo ̣ng (floating-point number):

 Dấu chấm không cố định

 Dùng trong các bo ̣ vi xử lý hie ̣n nay, có đo ̣ chính xác cao hơn

Trang 76

1 Khái niệm về số dấu chấm tĩnh

 Số bit d{nh cho phần nguyên v{ số bit phần lẻ l{ cố

định

 Giả sử rằng:

U(a,b) là ta ̣p các só dáu chám tĩnh không dấu có a bit trước

dáu chám và b bit sau dáu chám

A(a,b) là ta ̣p các só dáu chám tĩnh có dấu có a bit (không kẻ

bit dáu) trước dáu chám và b bit sau dáu chám

Trang 77

Số dấu chấm tĩnh không dấu

 Khoảng x|c định của số dấu chấm tĩnh không dấu: [0,

2a - 2-b]

 Ví dụ:

 Dùng 8 bit để m~ hóa cho kiểu số dấu chấm tĩnh, trong đó

có 2 bit d{nh cho phần lẻ Khoảng x|c định của kiểu dữ liệu này là: 0  R  26 – 2-2 = 63.75

 VD: gi| trị của 101011.11 = 10101111 x 2-2 = 43.75

Trang 78

Số dấu chấm tĩnh có dấu

 Khoảng x|c định của số dấu chấm tĩnh có dấu:

[-2a, 2a - 2-b]

 Ví dụ:

 Dùng 8 bit đẻ biẻu diẽn só chám tĩnh có dáu với a=5, b=2

 Ta được ta ̣p các só chấm tĩnh thuo ̣c A(5,2) nàm trong

khoảng:

[-25, 25 – 2-2] hay [-32, 31.75]

Trang 79

Đặc điểm của số dấu chấm tĩnh

 C|c phép to|n thực hiện nhanh

 Độ chính x|c khi thực hiện c|c phép to|n không cao,

đa ̣c bie ̣t là với phép tính nhân

 Ví dụ:

 Khi thực hiện phép nh}n ta cần phải có thêm một số lượng bit nhất định để biểu diễn kết quả

 Đói với só không dáu:

U(a1, b1) x U(a2, b2) = U(a1 + a2, b1 + b2)

 Đói với só có dáu:

A(a1, b1) x A(a2, b2) = A(a1 + a2 + 1, b1 + b2)

Trang 80

2 Khái niệm về số dấu chấm động

 Một số thực X được biểu diễn theo kiểu số dấu chấm động như sau:

Trang 83

Ví dụ về số dấu chấm động

 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:

Trang 86

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)

Trang 89

Các khả năng tràn số

 Tr{n trên số mũ (Exponent Overflow): mũ dương

vượt ra khỏi gi| trị cực đại của số mũ dương có thể

 Tr{n dưới số mũ (Exponent Underflow): mũ }m vượt

ra khỏi gi| trị cực đại của số mũ }m có thể

 Tr{n trên phần định trị (Mantissa Overflow): cộng hai phần định trị có cùng dấu, kết quả bị nhớ ra ngo{i bit cao nhất

 Tr{n dưới phần định trị (Mantissa Underflow): Khi

hiệu chỉnh phần định trị, c|c số bị mất ở bên phải

phần định trị

Trang 90

Phép cộng và phép trừ

 Kiểm tra c|c số hạng có bằng 0 hay không

 Nếu có thì g|n kết quả dựa trên số còn lại

 Chuẩn hóa kết quả

 Dịch tr|i phần định trị để bit tr|i nhất (bit MSB) kh|c 0

Tương ứng với việc giảm số mũ nên có thể dẫn đến hiện tượng tr{n

Trang 91

Nội dung chương 2

2.1 C|c hệ đếm cơ bản

2.2 M~ hóa v{ lưu trữ dữ liệu trong m|y tính

2.3 Biểu diễn số nguyên

2.4 C|c phép to|n số học với số nguyên

2.5 Biểu diễn số thực

2.6 Biểu diễn kí tự

Trang 92

Biểu diễn kí tự trong máy tính

1 Bộ m~ ASCII (American Standard Code for

Information Interchange)

2 Bộ m~ Unicode

Trang 95

a Các kí tự chuẩn

 95 kí tự hiển thị được: có m~ từ 2016 ÷ 7E16

 26 chữ c|i hoa Latin 'A' ÷ 'Z' có m~ từ 4116 ÷ 5A16

 26 chữ c|i thường Latin 'a' ÷ 'z' có m~ từ 6116 ÷ 7A16

Trang 96

Đ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í

đầu trang tiếp theo

dòng hiện hành

Trang 97

Đ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ữ

Trang 98

Đ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

Trang 99

Các kí tự điều khiển khác

đến khi gặp ký tự SI

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ợ

cùng có tác dụng với phương tiện vật lý

với ký tự sau đó

Trang 102

Bài tập 1

 Giả sử có c|c biến nhớ dưới đ}y chứa c|c số nguyên

có dấu 8-bit với nội dung biểu diễn theo hệ 16 như

sau:

H~y x|c định gi| trị của c|c biến nhớ đó dưới dạng số thập ph}n

Ngày đăng: 21/05/2021, 14:29