Home / convert 2 s complement to decimal / C5 Solutions 1. Convert the following base 10 numbers into 8 …

# C5 Solutions 1. Convert the following base 10 numbers into 8 … - convert 2 s complement to decimal

C5 Solutions
1. Convert the following base 10 numbers into 8-bit 2's complement notation
0, -1, -12
To Compute 0
0 = 00000000
To Compute -1
Step 1. Convert 1 to binary
00000001
Step 2. Flip the bits
11111110
11111111
Therefore -1 = 11111111
To Compute -12
Step 1. Convert 12 to binary
00001100
Step 2. Flip the bits
11110011
11110100
Therefore -12 = 11110100
2. Perform each of the following additions assuming that the bit strings represent
values in 2's complement notation. Identify the cases in which the answer is
incorrect because of overflow.
1111
+ 1111
11110
Overflow = 0
01111
+ 10001
100000
Overflow = 1
01110
+ 01010
11000
Overflow = 0
3. Write an algorithm to convert a negative decimal number into a binary number in
2's complement form. Assume that the number ranges from +127 to -128
1. If the number is less than 0
a. Multiply by -1
b. Flip the bits by `number XOR 0xff'
c. Add 1 to the result
2. Convert the number into binary
Hint: You already know how to convert a positive decimal number into binary
notation. Think about determining sign and inverting bit positions.
listing and a hard copy of your code.
GNAT 3.13p (20000509) Copyright 1992-2000 Free Software Foundation, Inc.
Compiling: c:/docume~2/jk/desktop/16070/codeso~1/decimal_to_binary.adb (source file time stamp: 2003-
09-17 11:09:18)
3.
6.
7. procedure Decimal_To_Binary is
8.
9. -- bit-wise operations are only defined for modular types
10. type byte is mod 256;
11.
12. Number_To_Convert : integer;
13. Place_Holder: Byte;
14.
15. Binary_Number : String (1..8);
16. Count : Integer :=8;
17.
18.
19. begin
20. -- set the string to all zeroes
21. Binary_Number :="00000000";
22.
23. -- get the number to be converted
24. Put("Please enter an integer :");
25. Get(Number_To_Convert);
26.
27. -- check if the number is negative. If it is,
28. -- convert it into positive
29. if Number_To_Convert < 0 then
30.
31. Number_To_Convert := -1 * Number_To_Convert;
32.

How to calculate two's complement? How do you calculate two's complement? Convert given number in binary number. Change all 0's of binary number to 1 and all 1's to 0. Add 1 to the number produced in last step.

#### Pdf INFO

Title: Microsoft Word - C5-C8.solution.doc
Creator: Microsoft Word: LaserWriter 8 8.7.1
Producer: Acrobat Distiller 4.05 for Macintosh
CreationDate: Tue Sep 23 16:49:52 2003
ModDate: Tue Sep 23 16:53:34 2003
Tagged: no
Form: none
Pages: 15
Encrypted: no
Page size: 612 x 792 pts (letter) (rotated 0 degrees)
File size: 4365922 bytes
Optimized: yes