You are on page 1of 8

Positive Integer

1. Convert decimal -> other base (2,8,16): done


Vi du: 17d
17 chia 2 = 8 du 1
8 chia 2 =4 du 0
4 chia 2= 2 du 0
2 chia 2= 1 du 0
1 chia 2= 0 du 1 (stop)
 17d=10001b

17 chia 8 = 2 du 1
2 chia 8=0 du 2(stop)
=> 17d =21q

17 chia 16 = 1 du 1
1 chia 16 =0 du 1 (stop)
=> 17d=11h

2. Convert other base (2,8,16) -> decimal : done


Vi du:
1110b= 1x 23 + 1x22 + 1x21+0x20=8+4+2=14d
106q=1x82+0x81+6x80=64+6=70d
1Ah =1x161+10x160=16+10=26d
3. Convert binary -> octal,hexa decimal
Base 2 -> octal : Nhóm 3
Ví du: 11000010101 b =? Q = 3025q

11 b = 3
000b =0
010 b= 2
101 b = 5
Ví du: 11100011111111b =? q = 34377q

Base 2-> base 16: nhóm 4

Ví du: 11001110101 b =? H =675h


Ví du: 111111110110b =FF6h

4. Convert octal,hexa decimal -> binary


Real number

1. decimal-> binary,octal,hexa decimal


vi du: 8.75 d =? b =1000.11 b
8 d = 1000b
8 chia 2= 4 du 0
4 chia 2 =2 du 0
2 chia 2=1 du 0
1 chia 2=0 du 1 (stop)

0.75d = 0.11b
0.75 x 2 = 1.5
0.5 x 2=1 (stop)

=> 8.75 d=1000.11 b

vi du: 3.625d =? b =11.101b


3 d =11 b

0.625d=0.101 b

0.625 x2 =1.250

0.25 x 2= 0.50

0.5 x2 =1(stop)

Vi du: 12.634 d =? Q =14.504 q


12 chia 8 =1 dư 4
1 chia 8 = 0 dư 1 (stop)
0.634 x 8 = 5.072
0.072 x 8 =0.576
0.576 x 8 =4.608

Ví dụ: 26.125 d =? h =1A.2h


26 chia 16 = 1 du 10
1 chia 16 =0 du 1 (stop)

0.125 x 16 =2(stop)
2. binary,octal,hexa decimal->decimal
vi du:
11.101 b =?d
1 x 21 +1x20 + 1x2-1 +0x2-2+1x2-3=2+1+0.5+0.125 =3.625 d

Ví dụ:
13.12q =? d
1x81 +3x80 + 1x8-1+2x8-2 =8+3+0.125+ 2 x 0.0625= 11.25d

Ví du: AB.12h =? d = 10x161+11x160+1x16-1+2x16-2=160+11+0.0625+0.0078125=171.0703125d

Negative Integer

1) Biểu diễn số nguyên âm -26 d dạng nhị phân 16 bits.


Step1: tìm biểu diễn NP của 26 d dạng 16 bits
26 chia 2= 13 du 0
13 chia 2 =6 du 1
6 chia 2 =3 du 0
3 chia 2= 1 du 1
1 chia 2 =0 du 1(stop)
Rule:
0+0=0 b
26 d= 0000 0000 0001 1010 b
0+1=1+0=1 b
Step 2: bù 1 (đảo bit: 1->0, 0->1)
1+1=10 b
0000 0000 0001 1010 b => 1111 1111 1110 0101 b
1+1+1=11 b
Step 3: bù 2 ( công thêm 1 vào đáp án của step 2)
1111 1111 1110 0101 b
+ 1b
1111 1111 1110 0110 (đáp án) = -26 d ở dạng NP 16 bits

2) Biểu diễn số nguyên -123 d ở dang NP 16 bits


Step1: tìm biểu diễn NP của -123 d dạng 16 bits
123 d = 0000 0000 0111 1011b
Step 2: bù 1
1111 1111 1000 0100 b
Step 3: bù 2
1111 1111 1000 0100 b + 1b =1111 1111 1000 0101 b (-123d)

int x; // 2 byte = 16 bits : value: 2 16 = 65.7 mấy=> -32. 767 đến + 32.768
Real number presentation in the computer

C: int = 2 bytes
int x; // x giua -32.767 + 32.768 , nhap x = 50000=> luu sai
unsigned int x; 2 mu 16 = 65.may tram => 0…..65.xxx
---------------------------------------------------------------------------------------------------------------------
Addition and subtraction for signed intergers ở dạng bù 2 (two’s complement)

Ví dụ 1:
A=0000 1111 b (15) , B= 1010 1100 b (-84) = -128 +32 +8+4 ,
A+B =15 + (-84) ? , A-B = 15 – (-84)= ?
0000 1111
+ 1010 1100
----------------------------
10111011 (-69)
=> -128 + 32+16+ 8 + 2+ 1

A-B = A + (B+1)
Step1: bù 1 của B= 0101 0011
Step 2: step1+1
0101 0011
+ 1
-----------------------
0101 0100

Step 3: A+ step 2
0000 1111
+ 0101 0100
---------------------------
0110 0011 (99)= 64+32+2+1

Ví dụ 2:
A= 1110 1011 (b) (-21) = -128 +64+32 +8+2+1
B= 1011 0101 (b) (-75) = -128+32+16+4+1

A+B =?
A-B =?

1110 1011
+ 1011 0101
-------------------------
1 1010 0000 (-96) = -128 +32

A-B=A+(B+1)
step 1: tìm 1’s của B => 0100 1010
Step 2: tìm 2’s của B => 0100 1010 +1 = 0100 1011
Step 3:
1110 1011
+ 0100 1011
-------------------------------
100110110 (54) =32+ 16+4+2

Ví dụ 3:

A= 0111 1111 b (127), B= 0000 1001 (9)

A+B =? A-B = A+ (B+1)?

0111 1111
+ 0000 1001
--------------------------------
1000 1000 (-120) = -128+8= => kết quả sai vì overflow
---------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------
Addition and substraction của số nguyên có dấu ỏ dạng sign–magnitude format
Sign - Magnitude
Gọi n là số bit cần dùng
n=3 => 23-1 -1 = 3 => biểu diễn được các các số nguyên -3 đến +3
n=4 => 24-1-1= 7 => biểu diễn được các số nguyên từ -7 đến +7
n=5 => 25-1-1= 15 => biểu diễn được các số nguyên từ -15 đến +15
n=8 => 28-1-1= 127 => biểu diễn được các số nguyên từ -127 đến +127

Biểu diễn số 7 dạng 4 bit : 0 111 => Sign =0 , Magnitude =111


Biểu diễn số -7 dạng 4 bit: 1 111
Biểu diễn số 12 dạng 5 bit : 0 1100
Biểu diễn số - 12 dạng 5 bit : 1 1100

Cho dãy nhị phân có dâu biểu diễn dạng sign-magnitude:

1 1010001 (b) = ? - ( 64+16+1)= -81

1 0010110 (b) = ? - ( 16 + 4+2)= - 22

Ví dụ 1: A= 0 0010001b (17 =16+1), B= 1 0010110 (b) = - (16+4+2)=-22

A+B= ?

Cách làm:

step 1: Sign of result : S(R)= S(A) xor S(B) = 0 xor 1 = 1

Step 2: tìm M(R) = M(A) + ( M(B) +1 ) = 0010001 + (1101001 +1)


0010001
+ 1101010
-------------------
1111011
step 3: vì step 2 no overflow, nên lấy 2’s của step 2
000 0100
+ 1
----------------------------------
000 0101 (5)

 Result: 1 0000101 (b) : -5


ví dụ 2: A = (1 1010001)2 (-81) B = (1 0010110) 2 (-22)
A-B =?

Cách làm:
step 1: S = S(A) xor S(B) = 1 xor 0 =1
Step 2: RM = AM + (BM +1). = 1010001 + (1101001 +1) = 1010001 + 1101010

1010001
+ 1101010
-------------------------
1 0111011 =Magnitude ò result=0111011
Step 3: vì step 2 có overflow => result= 1 0111011 b = - (32+16+ 8+ 2+ 1) = -59

Vidu 3: A = (1 1010001)2 (-81) B = (1 0010110) 2 (-22)

Tính B – A =? = - 22 – (-81) = 59

Step 1: sign of reuslt= 1 xor 0 = 1


Step 2: RM = AM + (BM +1). = Rm=1 0111011
---------------------------------------------------------------------------------------------------------------

Addition and subtraction for real numbers


Ví dụ 1: A= 5.75
B= 161.875
A+B =?

Cách làm:
step 1: Tìm biểu diễn A,B dang NP:

5.75 => 5=101 b ; 0.75 =11 => 5.75 = 101.11 b

0.75 x 2= 1.5
0.5 x2 =1

Biểu diễn về dạng scientific format: 1.0111 x 2 2


Biểu diễn trong máy tính Excess-127:

Dấu : S= 0
Exponent = 2+127=129=> 10000001
Mantisa: 011 1000 0000 0000 0000 0000

 A= 0 10000001 011 1000 0000 0000 0000 0000


Biểu diễn B dạng NP

161.876 = 10100001.111 b => Biểu diễn về dạng scientific format: 1.0100001111 x 2 7


dấu : S=0
E: = 7 +127 =134 =10000110 b
M= 010 0001 1110 0000 0000 0000
=> B =0 10000110 010 0001 1110 0000 0000 0000

Step 2:
+ công 1 vào phần mũ(E) của A,B
+ thêm 1 vào phía trước phần Mantisa của A,B

A: 0 10000010 1011 1000 0000 0000 0000 0000


B: 0 10000111 1010 0001 1110 0000 0000 0000

You might also like