**Table of Contents**

- 15.. What Everyone Should Know About Data Representation
- 15.. Representing Information
- 15.. Numeric Limitations of Computers
- 15.. Fixed Point Number Systems
- 15.. Modular Number Systems
- 15.. Binary Data Representation
- 15.. Metric and Binary Quantities
- 15.. The Arabic Numeral System
- 15.. Number Bases
- 15.. Binary Fixed Point
- 15.. Binary/Octal/Hexadecimal Conversions
- 15.. Unsigned Binary Integers
- 15.. Signed Integers
- 15.. Sign-Magnitude
- 15.. One's complement
- 15.. Two's Complement
- 15.. Biased Notation
- 15.. Hex and Octal with Signed Numbers
- 15.. Floating Point
- 15.. Character Storage

Computer science students typically spend at least one or two semesters studying computer architecture (hardware design) and machine/assembly language. Most will never become hardware designers, or assembly language programmers, but understanding how data are represented in computer hardware makes all of us better programmers.

Knowing the limitations of computer number systems is necessary in order to write programs that produce correct and precise output and also in writing the most efficient programs possible.

This chapter provides a very brief overview of these limitations. We will cover the standard number systems used by modern computers alongside some historical and hypothetical systems to help put them in context.

What are two advantages of understanding computer data representation if we are not doing hardware design?