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

Bài giảng Kỹ nghệ máy tính: Chương 3 - Nguyễn Văn Thọ

17 474 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 17
Dung lượng 305,09 KB

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

Nội dung

CHƯƠNG 3BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH Nguyễn Văn Thọ Khoa Điện tử viễn thông Đại học Duy Tân – 2010 KHOA ĐIỆN TỬ VIỄN THÔNG Nguyen Van Tho – Duy Tan University.. • add from right to l

Trang 1

CHƯƠNG 3

BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH

Nguyễn Văn Thọ Khoa Điện tử viễn thông Đại học Duy Tân – 2010

KHOA ĐIỆN TỬ VIỄN THÔNG

Nguyen Van Tho – Duy Tan University.

Làm thế nào để biểu diễn trữ dữ liệu trong máy tính ?

• Ở cấp thấp nhất, máy tính là 1 thiết bị điện tử

• Hoạt động bằng cách điều khiển các dòng điện tử

• works by controlling the flow of electrons

Có 2 trạng thái

1 Có điện áp : gọi là trạng thái ‘1”

2 Không có điện áp : gọi là trạng thái “0”

• Có thế xác định trạng thái “0” hay “1” dựa vào giá trị điện áp

Trang 2

Máy tính là một hệ thống số.

• Đơn vị cơ sở của thông tin là số nhị phân (bit)

• Tổ hợp nhiều bit sẽ cho nhiều trạng thái hơn

• Tổ hợp của 2 bit cho ta 4 trạng thái :

00, 01, 10, 11

• Tổ hợp của 3 bit cho ta 8 trạng thái:

000, 001, 010, 011, 100, 101, 110, 111

• Tổ hợp của n bits cho ta 2 n trạng thái.

Binary(base two) system:

• has two states: 0 and 1

Digitalsystem:

• finite number of symbols

Nguyen Van Tho – Duy Tan University.

Các loại dữ liệu cần biểu diễn?

• Numbers – signed, unsigned, integers, floating point,

complex, rational, irrational, …

• Text – characters, strings, …

• Images – pixels, colors, shapes, …

• Sound

• Logical – true, false

• Instructions

• …

• Data type:

• representationand operationswithin the computer

• We’ll start with numbers…

Trang 3

Unsigned Integers (Số nguyên không dấu)

• Tr ọng số của vị trí

• V í dụ ký hiệu “ 329”trong h ệ thập phân

• “3” c ó gía trị là 300 trong khi “9” ch ỉ là 9

329

102 101 100

101

22 21 20 3x100 + 2x10 + 9x1 = 329 1x4 + 0x2 + 1x1 = 5

most significant

least significant

Nguyen Van Tho – Duy Tan University.

Unsigned Integers (cont.)

• Một số n-bit kiểu unsigned integer có thể biểu diễn 2 ngiá trị :

từ 0 to 2n-1.

7 1 1 1

6 0 1 1

5 1 0 1

4 0 0 1

3 1 1 0

2 0 1 0

1 1 0 0

0 0 0 0

2 0

2 1

2 2

Trang 4

Unsigned Binary Arithmetic

• Base-2 addition – just like base-10!

• add from right to left, propagating carry

10111

carry

Subtraction, multiplication, division,…

Nguyen Van Tho – Duy Tan University.

Signed Integers (Số nguyên có dấu)

• Với n bits, ta có 2 n giá trị

• Sử dụng 1 nửa cho số dương (1 through 2 n-1 )

và 1 nửa cho số âm (- 2 n-1 through -1)

• that leaves two values: one for 0, and one extra

• Số nguyên dương

• Bit MSB là bit 0

00101 = 5

• Số nguyên âm

• Kiểu dấu-độ lớn : bít dấu =1 để biểu diễn số âm, độ lớn biểu diễn như

số không dấu

10101 = -5

• Số bù 1 – flip every bit to represent negative

11010 = -5

• Trong cả 2 trường hợp , MSB biễu diễn dấu: 0=dương, 1=âm

Trang 5

Số bù 2

• Hạn chế của 2 cách biểu diễn trên

• Có 2 cách biểu diễn số 0 (+0 and –0)

• Mạch tính toán phức tạp

¾Làm thế nào để công 1 số có dấu và 1 số không dấu ?

– Ví dụ : 2 + (-3)

• Biểu diễn bằng số bù 2 giúp phát triển mạch số học dễ dàng hơn.

• Với mỗi số dương (X) , chỉ có 1 giá trị âm (-X) thoã mãn X+ (-X) =0 với phép cộng bình thường (bỏ qua bit nhớ ngoài)

Nguyen Van Tho – Duy Tan University.

Biểu diễn số bù 2

• Nếu là số nguyên dương hoặc số 0

• Biểu diễn số nhị phân bình thường

• Nếu là số âm

• Bắt đầu với số dương tương ứng

• Tính số bù 1 của số dương tương ứng (đảo bit)

• Số bù 2 = Số bù 1 + 1

11010 (1’s comp) (1’s comp)

Trang 6

Two’s Complement Shortcut

• To take the two’s complement of a number:

• copy bits from right to left until (and including) the first “1”

• flip remaining bits to the left

100101111 (1’s comp)

(copy) (flip)

Nguyen Van Tho – Duy Tan University.

Two’s Complement Signed Integers

• MSB là bit dấu – nó có trọng số là –2 n-1.

• Phạm vi biểu diễn của số n-bit là : -2 n-1 tới 2 n-1 – 1.

• The most negative number (-2 n-1 ) has no positive counterpart.

0

0

0

0

0

0

0

0

-2 3

7 1 1 1

6 0 1 1

5 1 0 1

4 0 0 1

3 1 1 0

2 0 1 0

1 1 0 0

0 0 0 0

2 0

2 1

2 2

1 1 1 1 1 1 1 1 -2 3

-1 1

1 1

-2 0

1 1

-3 1

0 1

-4 0

0 1

-5 1

1 0

-6 0

1 0

-7 1

0 0

-8 0

0 0

2 0

2 1

2 2

Trang 7

Chuyển đổi từ hệ 2 (Binary) sang hệ 10 (Decimal)

1 If leading bit is one, take two’s complement to

get a positive number.

2 Add powers of 2 that have “1” in the

corresponding bit positions.

3 If original number was negative,

add a minus sign.

1024 10 512 9 256 8 128 7 64 6 32 5 16 4 8 3 4 2 2 1 1 0

2n

n

X = 01101000two

= 26+25+23 = 64+32+8

= 104ten

Assuming 8-bit 2’s complement numbers.

Nguyen Van Tho – Duy Tan University.

More Examples

1024 10 512 9 256 8 128 7 64 6 32 5 16 4 8 3 4 2 2 1 1 0

2n

n

Assuming 8-bit 2’s complement numbers.

X = 00100111two

= 25+22+21+20 = 32+4+2+1

= 39ten

X = 11100110two

-X = 00011010

= 24+23+21 = 16+8+2

= 26ten

X = -26ten

Trang 8

Chuyển đổi từ hệ 10 sang hệ 2

First Method: Division

1 Find magnitude of decimal number (Always positive.)

2 Divide by two – remainder is least significant bit.

3 Keep dividing by two until answer is zero,

writing remainders from right to left.

4 Append a zero as the MS bit;

if original number was negative, take two’s complement.

52/2 = 26 r0 bit 1

26/2 = 13 r0 bit 2

13/2 = 6 r1 bit 3

6/2 = 3 r0 bit 4

3/2 = 1 r1 bit 5

X = 01101000two 1/2 = 0 r1 bit 6

Nguyen Van Tho – Duy Tan University.

Chuyển đổi từ hệ 10 sang hệ 2

Second Method: Subtract Powers of Two

1 Find magnitude of decimal number.

2 Subtract largest power of two

less than or equal to number.

3 Put a one in the corresponding bit position.

4 Keep subtracting until result is zero.

5 Append a zero as MS bit;

if original was negative, take two’s complement.

40 - 32 = 8 bit 5

8 - 8 = 0 bit 3

X = 01101000two

1024 10 512 9 256 8 128 7 64 6 32 5 16 4 8 3 4 2 2 1 1 0

2n

n

Trang 9

Phép toán: Số học và Logic

• Recall:

a data type includes representationand operations.

• We now have a good representation for signed integers,

so let’s look at some arithmetic operations:

• Addition

• Subtraction

• Sign Extension

• We’ll also look at overflow conditions for addition.

• Multiplication, division, etc., can be built from these

basic operations.

• Logical operations are also useful:

• AND

• OR

• NOT

Nguyen Van Tho – Duy Tan University.

Phép cộng

• As we’ve discussed, 2’s comp addition is just

binary addition.

• assume all integers have the same number of bits

• ignore carry out

• for now, assume that sum fits in n-bit 2’s comp representation

01101000 (104) 11110110 (-10)

Assuming 8-bit 2’s complement numbers.

Trang 10

Phép trừ

• Negate subtrahend (2nd no.) and add.

• assume all integers have the same number of bits

• ignore carry out

• for now, assume that difference fits in n-bit 2’s comp

representation

01101000 (104) 11110110 (-10)

01101000 (104) 11110110 (-10)

Assuming 8-bit 2’s complement numbers.

Nguyen Van Tho – Duy Tan University.

Chú ý với số có dấu

• Để cộng 2 số, ta phải biểu diễn số đó dưới dạng các số nhị

phân có số bit như nhau.

• Thêm 0 vào bên trái để đủ số bit

• Instead, replicate the MS bit the sign bit:

4-bit 8-bit

0100 (4) 00000100 (still 4)

1100 (-4) 00001100 (12, not -4)

4-bit 8-bit

0100 (4) 00000100 (still 4)

1100 (-4) 11111100 (still -4)

Trang 11

Tràn số

• Nếu 2 toán hạng quá lớn, kết quả phép toán không chính

xác.

• Tràn số xảy ra nếu

• Dấu của 2 toán hạng giống nhau và

• Dấu của kết quả khác dấu 2 toán hạng.

+ 01001 (9) + 10111 (-9)

10001 (-15) 01111 (+15)

Nguyen Van Tho – Duy Tan University.

Logical Operations

• Operations on logical TRUE or FALSE

• two states takes one bit to represent: TRUE=1, FALSE=0

• View n-bit number as a collection of n logical values

• operation applied to each bit independently

1

1

0

0

A

1 1

0 0

0 1

0 0

A AND B

B

1 1 0 0 A

1 1

1 0

1 1

0 0

A OR B B

1 0 A

0 1 NOT A

Trang 12

Examples of Logical Operations

• AND

• useful for clearing bits

¾AND with zero = 0

¾AND with one = no change

• OR

• useful for setting bits

¾OR with zero = no change

¾OR with one = 1

• NOT

• unary operation one argument

• flips every bit

11000101

AND 00001111

00000101

11000101

OR 00001111

11001111

NOT 11000101

00111010

Nguyen Van Tho – Duy Tan University.

Hexadecimal Notation

• It is often convenient to write binary (base-2) numbers

as hexadecimal (base-16) numbers instead.

• fewer digits four bits per hex digit

• less error prone easy to corrupt long string of 1’s and 0’s

7 6 5 4 3 2 1 0

Hex

7 0111

6 0110

5 0101

4 0100

3 0011

2 0010

1 0001

0 0000

Decimal Binary

F E D C B A 9 8

Hex

15 1111

14 1110

13 1101

12 1100

11 1011

10 1010

9 1001

8 1000

Decimal Binary

Trang 13

Converting from Binary to Hexadecimal

• Every four bits is a hex digit.

• start grouping from right-hand side

011101010001111010011010111

7 D

4 F

8 A

3

This is not a new machine representation,

just a convenient way to write the number.

Nguyen Van Tho – Duy Tan University.

Số thập phân : Dấu chấm tĩnh (Fixed-Point)

• Làm thế nào để biễu diễn số thập phân?

• Use a “binary point” to separate positive

from negative powers of two just like “decimal point.”

• 2’s comp addition and subtraction still work.

¾if binary points are aligned

00101000.101 (40.625)

+ 11111110.110 (-1.25)

00100111.011 (39.375)

2 -1 = 0.5

2 -2 = 0.25

2 -3 = 0.125

No new operations same as integer arithmetic.

Trang 14

Số rất lớn và số rất nhỏ : Dấu chấm động (Floating-Point)

• Giá trị lớn : 6.023 x 10 23 cần 79 bits

• Giá trị nhỏ : 6.626 x 10 -34 cần >110 bits

• Đưa về dạng biểu diễn : F x 2 E

• IEEE 754 Floating-Point

¾ Độ chính xác đơn : Single-precision (32-bits)

¾ Độ chính xác kép : Double-precision (64-bits)

Nguyen Van Tho – Duy Tan University.

Dấu chấm động

• IEEE-754 format cho độ chính xác đơn (single-precision)

1 sign bit: 0 dương, 1 âm

8 bit biased exponent= exponent + 127

24 bit mantissa chuẩn hoá = 1 bit ẩn + 23 bit fraction

Chuẩn hoá định trị : có giá trị giữa 1 và 2 : 1.f

0 22

23 30

31

S biased exponent e fraction f of normalized mantissa

0 exponent ,

2 fraction

0 ) 1

(

254 exponent

1 , 2

fraction

1 ) 1

(

126

127 exponent

=

×

×

=

×

×

=

S

S N

N

Trang 15

Floating Point Example

• Single-precision IEEE floating point number:

10111111010000000000000000000000

• Sign is 1 – number is negative.

• Exponent field is 01111110 = 126 (decimal).

• Fraction is 0.100000000000… = 0.5 (decimal).

• Value = -1.5 x 2 (126-127) = -1.5 x 2 -1 = -0.75

Ví dụ: biểu diễn 0.1011 dưới dạng IEEE-754

Sign bit s=0

chuẩn hoá : 0.1011=1.011*2-1

exponent: -1 + 127=126=01111110

IEEE format: 0011111100110000000000000000000

Nguyen Van Tho – Duy Tan University.

Dấu chấm động

• IEEE-754 format cho độ chính xác kép (double-precision)

0 51

52 62

63

S biased exponent e fraction f of normalized mantissa

1 sign bit: 0 dương, 1 âm

11 bit biased exponent= exponent + 1023

53 bit mantissa chuẩn hoá = 1 bit ẩn + 52 bit fraction

double precision: (-1) s x 2 e-1023 x (1.f) 2 single precision: (-1) s x 2 e-127 x (1.f) 2

Trang 16

Text: ASCII Characters

• ASCII: Maps 128 characters to 7-bit code.

• both printable and non-printable (ESC, DEL, …) characters

del 7f o 6f _ 5f O 4f

? 3f / 2f us 1f si

0f

~ 7e n 6e

^ 5e N 4e

>

3e 2e rs 1e so

0e

} 7d m 6d ] 5d M 4d

= 3d -2d gs 1d cr

0d

| 7c l 6c

\ 5c L 4c

<

3c , 2c fs 1c np

0c

{ 7b k 6b [ 5b K 4b

; 3b + 2b esc 1b vt

0b

z 7a j 6a Z 5a J 4a : 3a

* 2a sub 1a nl

0a

y 79 i 69 Y 59 I 49 9 39 ) 29 em 19 ht

09

x 78 h 68 X 58 H 48 8 38 ( 28 can 18 bs

08

w 77 g 67 W 57 G 47 7 37 ' 27 etb 17 bel

07

v 76 f 66 V 56 F 46 6 36

&

26 syn 16 ack

06

u 75 e 65 U 55 E 45 5 35

% 25 nak 15 enq

05

t 74 d 64 T 54 D 44 4 34

$ 24 dc4 14 eot

04

s 73 c 63 S 53 C 43 3 33

# 23 dc3 13 etx

03

r 72 b 62 R 52 B 42 2 32

"

22 dc2 12 stx

02

q 71 a 61 Q 51 A 41 1 31

! 21 dc1 11 soh

01

p 70

` 60 P 50

@ 40 0 30 sp 20 dle 10 nul

00

Nguyen Van Tho – Duy Tan University.

Interesting Properties of ASCII Code

• What is relationship between a decimal digit ('0', '1', …)

and its ASCII code?

• What is the difference between an upper-case letter

('A', 'B', …) and its lower-case equivalent ('a', 'b', …)?

• Given two ASCII characters, how do we tell which comes

first in alphabetical order?

• Are 128 characters enough?

(http://www.unicode.org/)

No new operations integer arithmetic and logic.

Trang 17

Other Data Types

• Text strings

• sequence of characters, terminated with NULL (0)

• typically, no hardware support

• Image

• array of pixels

¾monochrome: one bit (1/0 = black/white)

¾color: red, green, blue (RGB) components (e.g., 8 bits each)

¾other properties: transparency

• hardware support:

¾typically none, in general-purpose processors

¾MMX multiple 8-bit operations on 32-bit word

• Sound

• sequence of fixed-point numbers

Nguyen Van Tho – Duy Tan University.

Ngày đăng: 23/04/2014, 17:31

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm