D.6. Negative Binary Numbers: Twos Complement Notation

Answers to Self Review Exercises

D.1

10, 2, 8, 16.

D.2

Fewer.

D.3

False. Hexadecimal does this.

D.4

Hexadecimal.

D.5

False. The highest digit in any base is one less than the base.

D.6

False. The lowest digit in any base is zero.

D.7

1 (the base raised to the zero power).

D.8

The base of the number system.

D.9

Fill in the missing values in this chart of positional values for the rightmost four positions in each of the indicated number systems:

decimal

1000

100

10

1

hexadecimal

4096

256

16

1

binary

8

4

2

1

octal

512

64

8

1

D.10

Octal 6530; Hexadecimal D58.

D.11

Binary 1111 1010 1100 1110.

D.12

Binary 111 011 001 110.

D.13

Binary 0 100 111 111 101 100; Octal 47754.

D.14

Decimal 2+4+8+32+64=110.

D.15

Decimal 7+1*8+3*64=7+8+192=207.

D.16

Decimal 4+13*16+15*256+14*4096=61396.

D.17

Decimal 177

to binary:

256 128 64 32 16 8 4 2 1
128 64 32 16 8 4 2 1
(1*128)+(0*64)+(1*32)+(1*16)+(0*8)+(0*4)+(0*2)+(1*1)
10110001
 

to octal:

512 64 8 1
64 8 1
(2*64)+(6*8)+(1*1)
261
 

to hexadecimal:

256 16 1
16 1
(11*16)+(1*1)
(B*16)+(1*1)
B1
D.18

Binary:


 

512 256 128 64 32 16 8 4 2 1 256 128 64 32 16 8 4 2 1 (1*256)+(1*128)+(0*64)+(1*32)+(0*16)+(0*8)+(0*4)+(0*2)+(1*1) 110100001  

One's complement: 001011110

Two's complement: 001011111

Check: Original binary number + its two's complement

110100001
001011111
---------
000000000
D.19

Zero.

Exercises

D.20

Some people argue that many of our calculations would be easier in the base 12 number system because 12 is divisible by so many more numbers than 10 (for base 10). What is the lowest digit in base 12? What would be the highest symbol for the digit in base 12? What are the positional values of the rightmost four positions of any number in the base 12 number system?

D.21

Complete the following chart of positional values for the rightmost four positions in each of the indicated number systems:

decimal

1000

100

10

1

base 6

...

...

6

...

base 13

...

169

...

...

base 3

27

...

...

...

D.22

Convert binary 100101111010 to octal and to hexadecimal.

D.23

Convert hexadecimal 3A7D to binary.

D.24

Convert hexadecimal 765F to octal. [Hint: First convert 765F to binary, then convert that binary number to octal.]

D.25

Convert binary 1011110 to decimal.

D.26

Convert octal 426 to decimal.

D.27

Convert hexadecimal FFFF to decimal.

D.28

Convert decimal 299 to binary, to octal and to hexadecimal.

D.29

Show the binary representation of decimal 779. Then show the one's complement of 779 and the two's complement of 779.

D.30

Show the two's complement of integer value 1 on a machine with 32-bit integers.

Introduction to Computers, the Internet and World Wide Web

Introduction to C++ Programming

Introduction to Classes and Objects

Control Statements: Part 1

Control Statements: Part 2

Functions and an Introduction to Recursion

Arrays and Vectors

Pointers and Pointer-Based Strings

Classes: A Deeper Look, Part 1

Classes: A Deeper Look, Part 2

Operator Overloading; String and Array Objects

Object-Oriented Programming: Inheritance

Object-Oriented Programming: Polymorphism

Templates

Stream Input/Output

Exception Handling

File Processing

Class string and String Stream Processing

Web Programming

Searching and Sorting

Data Structures

Bits, Characters, C-Strings and structs

Standard Template Library (STL)

Other Topics

Appendix A. Operator Precedence and Associativity Chart

Appendix B. ASCII Character Set

Appendix C. Fundamental Types

Appendix D. Number Systems

Appendix E. C Legacy Code Topics

Appendix F. Preprocessor

Appendix G. ATM Case Study Code

Appendix H. UML 2: Additional Diagram Types

Appendix I. C++ Internet and Web Resources

Appendix J. Introduction to XHTML

Appendix K. XHTML Special Characters

Appendix L. Using the Visual Studio .NET Debugger

Appendix M. Using the GNU C++ Debugger

Bibliography



C++ How to Program
C++ How to Program (5th Edition)
ISBN: 0131857576
EAN: 2147483647
Year: 2004
Pages: 627

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net