# NUMBER SYSTEMS APPENDIX D. You will learn about the following in this appendix:

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 APPENDIX D NUMBER SYSTEMS You will learn about the following in this appendix: The four important number systems in computing binary, octal, decimal, and hexadecimal. A number system converter program written in C# and based on recursion. Converting a number from one number system to another. How to abbreviate binary numbers using the octal and hexadecimal number systems, and why this is useful. The concepts two s complement and one s complement to represent negative values by the binary number system. Introduction Chapter 1, Computers and Computer Programming: Basic Concepts. introduced you to the nature of computer hardware and its close connection to the binary number system. It also hinted at the usefulness of other number systems to help programmers overcome the awkwardness of the binary number system. This appendix gives a thorough introduction to each of the number systems and will show you how to utilize the octal and hexadecimal number systems to cut through the cumbersome binary number system. Binary Number System The binary number system, also referred to as base 2, makes use of only two digits 1 and 0. Bi in binary is analogous to bi in bicycle (two wheels). Each digit of the binary system is called a bit originating from binary digit. If we count from zero to eleven in the decimal system, as shown in Table D.1, we can observe how the binary number system compares with the decimal number system.

2 946 C# PRIMER PLUS TABLE D.1 Binary Counting with the Binary and Decimal Number Systems Decimal When we reach 1 in the binary system, we run out of digits and are forced to increase the next number to 10. Similarly, the number after 11 is 100. So 10 is greater than 1, 100 is greater than 11, and 1000 is greater than in the third place from the right in 100 is worth more than the two 1s in 11. In the decimal system, we run out of digits at 9 and, accordingly, the next number is 10. Similarly, the number after 99 is 100, and 1000 comes after 999. Again, 1 in the fourth position from the right in 1000 is worth more than 999. Here we are using positional notation in which digits written in different positions of the number have a different positional value. As we move to the left, the positional value increases. Most conventional number systems apply the positional notation, the systems discussed in this appendix in particular. Then what exactly is the value ascribed to each position of a number in the binary system? To answer this question, it is useful first to have a look at the positional values of the decimal system displayed in Table D.2. TABLE D.2 Positional Values in the Binary and Decimal Systems Position Binary Positional Value

3 Appendix D NUMBER SYSTEMS 947 TABLE D.2 continued Position Decimal Positional Value Position in Table D.2 refers to the position of each digit in an arbitrary number. The rightmost digit is in position 1, and, as we move to the left, we increase the position by one for each new digit we meet. For example, in the decimal number , we have the following positions: Digit Position We can establish a pattern for the positional value of a decimal number by looking at Table D.2. In general, the value of each position in the decimal system can be viewed as Positional value of position x in decimal system = 10 x-1 Consequently the positional value of position 3 is = 100 as shown in Table D.2. We can now understand exactly what we mean when we write an arbitrary decimal number, such as 7684: 7684 = 7x x x x10 0 The decimal system is built around powers of 10. This explains its name; decimal is derived from the Latin word decimalis meaning of tithes a 10% tax. Each position has a positional name and is derived from the corresponding positional value. In the last decimal number, we can say that 4 is written in the ones position (10 0 = 1), 8 is written in the tens position (10 1 = 10), 6 is written in the hundreds position (10 2 = 100), and 7 is written in the thousands position (10 3 = 1000). Of course, this way of looking at decimal numbers is merely our unconscious thoughts made explicit. We have been reasoning like this since we were small kids. However, this emphasis on the obvious paves the way to understanding how values are calculated using the base 2, base 8, and base 16 number systems. We can now utilize the logic applied to the positional values of the decimal number system to work out the positional values of the binary number system. By looking at the values in Table D.2, we discover the following pattern for determining base 2 positional values: Positional value of position x in binary number system: 2 x-1 Converting from the binary to the decimal number system can then be performed as illustrated by converting the binary number to base 10. 1x x x x x x2 0 = 38

4 948 C# PRIMER PLUS Like the decimal number system, each position in the binary number system has a name, shown in Table D.3. The names are found simply by applying the 2 x-1 rule and writing the result with text. For example = 32 makes thirty twos. TABLE D.3 Positional Names for Digits in Digit Position Name Thirty-twos Sixteens Eights Fours Twos Ones Bits and Bytes The byte concept is often used as a unit for memory size. One byte refers to a unit of usually eight adjacently positioned bits in computer memory. A kilobyte is equal to 1,024 bytes, and a megabyte is equal to 1,024 kilobytes. Octal Number System Table D.4 gives an overview of the digits used in the four number systems discussed in this appendix. Octal numbers use the digits 0 7. Table D.5 compares the first 15 decimal numbers to their octal counterparts. TABLE D.4 Digits of the Four Number Systems Binary Octal Decimal Hexadecimal Digits Digits Digits Digits

5 Appendix D NUMBER SYSTEMS 949 TABLE D.4 continued Binary Octal Decimal Hexadecimal Digits Digits Digits Digits A B C D E F TABLE D.5 Octal Counting with the Octal and Decimal Number Systems Decimal

6 950 C# PRIMER PLUS The octal numbers are based on powers of 8, just as the binary system is based on powers of 2. Table D.6 shows the relationship between the positional values of base 8 and base 10 systems. It is easy to confuse an octal number with a decimal number. For example, nothing in 126 hints as to whether this number should be interpreted as belonging to base 10 or base 8. Consequently, we will use a common notation form to indicate an octal number a 0 (zero) prefix. Thus, is an octal number. Note It is not possible to specify a literal in C# to be a base 8 value by using the 0 prefix or any other notation. When converting a number of base 8 to a number of base 10, we apply the same logic as with the previous binary and decimal numbers. This is illustrated with as follows: = 6x x x x8 0 = 6x x64 + 4x8 + 2x1 = 3426 TABLE D.6 Positional Values in the Octal and Decimal Systems Octal Decimal Positional Positional Position Value Value Hexadecimal Number System Hexadecimal numbers use the digits 0 9 and the letters A F (you can also use lowercase a f), as shown in Table D.4. The first six letters of the alphabet were arbitrarily chosen but are preferred because they are easy to remember and easy to find on a keyboard. To avoid confusion, hexadecimal numbers have a 0x or 0X prefix, for the same reason that we use the prefix 0 with octal numbers. Thus, 0x4B2 is a base 16 number.

7 Appendix D NUMBER SYSTEMS 951 Note You can specify a number to be hexadecimal in C# by using the 0x (or 0X) prefix, as shown in the following: int distance; distance = 0x15; Console.WriteLine( The distance is: + distance); This prints out The distance is: 21 to the console, because 0 15 is equal to 21 in the decimal system. Following the logic of bases 2, 8, and 10, we don t experience any surprises when looking at the positional values of base 16 numbers in Table D.8. Using 0x4B2 as an example, we say that 2 is written in the ones position, B is written in the sixteens position, and 4 is written in the twohundredandfiftysixths position. Hexadecimal numbers are based on powers of 16, shown in Table D.8, which then provides us with enough information to calculate the base 10 value of 0x4B2. 0x4B2 = 4 x x x 16 0 = 1202 Notice how 11 is substituted for B in the formula. In Table D.7, you can find the values for the other letters A F. TABLE D.7 Hexadecimal Counting with the Hexadecimal and Decimal Number Systems Decimal A 10

8 952 C# PRIMER PLUS TABLE D.7 continued Hexadecimal Decimal B 11 C 12 D 13 E 14 F TABLE D.8 Positional Values in the Hexadecimal and Decimal Systems Position Hexadecimal Positional Value Decimal Positional Value The Practical Use of Octal Numbers and Hexadecimal Numbers Octal and hexadecimal numbers make it more convenient to work with the long cumbersome binary numbers. In fact, we are able to abbreviate binary numbers by utilizing base 8 and base 16 numbers, as you will see shortly. To understand how, we need to look at equivalent values of bases 2, 8, and 16 as shown in Table D.9. One of the first things to notice is that each lengthy binary number can be expressed concisely in either the octal or the hexadecimal number systems. For example 1111 is equivalent to 17 in base 8 and simply F in base 16. Even though each base 2 number also has a shorter equivalent in base 10, this latter number system is not suitable for abbreviating binary numbers.

9 Appendix D NUMBER SYSTEMS 953 TABLE D.9 Base 2, Base 8, Base 16, and Base 10 Equivalents Binary Octal Hexadecimal Decimal Number Number Number Number System System System System A B C D E F The underlying reason why base 8 and base 16 can be used to abbreviate base 2 numbers can be found in the fact that 8 (being the base of base 8 numbers) and 16 (being the base of base 16 numbers) are powers of the base of the binary system (being 2). This is illustrated in Figure D.1. FIGURE D.1 Relationships between bases 2, 8, and 16. Base of Base = 8 and Base of Base 8 Base of Base = 16 Base of Base 8 This same relationship does not hold for base 10, which renders it useless for abbreviating binary numbers.

10 954 C# PRIMER PLUS Consider the binary number ; its equivalent base 16 number is 0x994. To see how we can easily convert to 0x994, we need to separate the binary number into three parts with each containing four consecutive digits. Underneath each part we write the corresponding base 16 number, which can be found in Table D.9. Base Base This works because the base of base 16 is a power of the base of the binary system, as was shown previously, enabling us to write: Applying the same logic, we can use the octal number system to abbreviate our binary number from the previous example. This time, we need to break the binary number into four parts each with three consecutive digits: Base Base Thus, converts to Note Old computers often use 3 bits to store a number; this makes the octal abbreviation method, which uses 3 bits for each octal digit, very useful. However, because older computers are becoming a rarity, the octal number system is not used as often today. The hexadecimal system is the preferred number system today. Accordingly, only hexadecimal values can be defined in C#, not values of base 8. It is now a simple matter to reverse the process and convert base 8 and base 16 numbers to base 2 numbers. For example, the octal number is converted to base 2 by writing the 4 as its binary equivalent 100, 6 converts to 110, 2 to 010, and 4 to 100. Combining them gives us Exactly the same procedure is used when converting from base 16 numbers to base 2 numbers. Converting from Base 10 to Bases 2, 8, and 16 We have already seen how we can convert from bases 2, 8, and 16 to base 10. Those conversions followed naturally from the positional values. Albeit not as straightforward, the process of converting from base 10 to bases 2, 8 and 16 is based on the same positional values. The easiest way to understand the process is by looking at an example. Following are the steps you need to take when converting 91 of base 10 to base 2.

11 Appendix D NUMBER SYSTEMS Starting at the right side of the paper and moving to the left, write the positional values of the base 2 number system beginning at position 1. Stop when we reach a position with a value greater than the base 10 number 91. In this case, we stop at Remove the column with the value greater than our base 10 number. This leaves us Take the number in the leftmost column and divide it into the base 10 number. Here, we divide 64 into 91. The result is 1 with 27 as a remainder. We then write 1 under the 64 column (see Table D.10). 3. Find the rightmost column that is greater than 27; this is 32. Discard 32 and write a 0 under 32 (see Table D.10). Use the number on the right side of 32 to divide into our remainder /16 yields 1 with a remainder of 11. Now write 1 under 16. We repeat the same process over and over to obtain the binary number TABLE D.10 Converting from Base 2 to Base 10 Using Positional Values Positional values Binary digits Converting from base 10 to base 8 and base 16 follows the same pattern. Just exchange the positional values of base 2 used in Table D.10 to the positional values corresponding to either base 8 or base 16. A Recursive C# Number System Converter Program Even though the process of converting numbers of base 10 to bases 2, 8 and 16 is straightforward, it is somewhat slow and cumbersome. To speed up the process, I have provided a C# program, displayed in Listing D.1, that uses recursion as the fundamental mechanism to perform the conversions. If you haven t yet read the chapter on recursion, don t despair. You can just copy in the program and use it as is without trying to understand it.

12 956 C# PRIMER PLUS Notice that the program further utilizes exception handling discussed in Chapter 19 to manage invalid user input. Pause for a moment and look at lines of Listing D.1. These are, in fact, the few essential lines of source code needed to perform our conversions. One can then only marvel at the elegance and power of recursion. The program is straightforward to use. It allows you to convert numbers of any base 2 16 to numbers of base 10, but it cannot handle negative numbers. LISTING D.1 Source Code of NumberSystemConverter.cs 01: using System; 02: 03: // Class enabling conversions from base 10 to any number system 04: // with base between 2 and : public class NumberSystemConverter 06: { 07: const string digits = abcdef ; 08: 09: public static void Main() 10: { 11: int decimalnumber; 12: int basenumber; 13: string answer = Y ; 14: 15: do 16: { 17: try 18: { 19: Console.Write( Enter decimal number: ); 20: decimalnumber = Convert.ToInt32(Console.ReadLine()); 21: Console.Write( Enter base: ); 22: basenumber = Convert.ToInt32(Console.ReadLine()); 23: if (basenumber < 2 basenumber > 16) 24: { 25: throw (new InvalidBaseNumberException( Invalid base number )); 26: } 27: Console.Write( Result: ); 28: printbase(decimalnumber, basenumber); 29: Console.WriteLine(); 30: Console.Write( Another conversion? y(es) n(o) ); 31: answer = Console.ReadLine().ToUpper(); 32: Console.WriteLine(); 33: } 34: 35: catch (InvalidBaseNumberException ex) 36: { 37: Console.WriteLine( InvalidBaseNumberException: {0}, ex); 38: } 39: 40: catch (Exception ex)

13 Appendix D NUMBER SYSTEMS 957 LISTING D.1 continued 41: { 42: Console.WriteLine( Exception: {0}, ex); 43: } 44: 45: } while (answer == Y ); 46: Console.WriteLine( Have a good day. Bye Bye! ); 47: } 48: 49: public static void printbase(int n, int nbase) 50: { 51: // Recursive method to print n in any base 52: // Assumes 2 <= nbase <= 16 53: if (n >= nbase) 54: // Method is calling itself, making it a recursive method. 55: printbase(n / nbase, nbase); 56: Console.Write(digits[n % nbase]); 57: } 58: } 59: 60: 61: public class InvalidBaseNumberException : Exception 62: { 63: public InvalidBaseNumberException() 64: { 65: } 66: 67: public InvalidBaseNumberException(string message) : base(message) 68: { 69: } 70: 71: public override string ToString() 72: { 73: return Base is restricted to: 2 <= base <= 16 ; 74: } 75: } The following is sample output from Listing D.1. Enter decimal number: 20<enter> Enter base: 2<enter> Result: Another conversion? y(es) n(o) y<enter> Enter decimal number: 420<enter> Enter base: 8<enter> Result: 644 Another conversion? y(es) n(o) y<enter> Enter decimal number: 1202<enter> Enter base: 16<enter> Result: 4b2 Another conversion? y(es) n(o) n<enter>

14 958 C# PRIMER PLUS The Main method is defined in lines It interacts with the user and makes sure, in line 23, that a correct base between 2 and 16 is entered. If a correct base is entered, the conversion process is initiated by calling printbase in line 28. printbase is the essential recursive method performing the actual conversion. Proper exception handling using try and catch is employed to handle incorrect user input in lines 17 and For more information about exception handling, see Chapter 19. A user-defined exception class is defined in lines and thrown in line 25 in the case of invalid user input. Lines are the essential lines of the program, performing the actual conversions through the use of recursion. You can attempt to understand these lines without having read Chapter 23, Recursion Fundamentals, but reading this chapter certainly makes for a gentler introduction to the subject. The path to an understanding of the printbase() method begins with a problem of displaying numbers on the console. Consider the task of printing out a non-negative number n on the console. In this scenario, we assume that we do not have a number output method available (such as WriteLine()), but that we can only print out one digit at a time on the console. A first hunch for designing an algorithm to perform under these conditions might be to first isolate the leftmost digit and print it, followed by the second leftmost, and so on. For example, to print the number 6487, the algorithm needs to somehow isolate 6 and print it followed by 4, and so on. The downside to this procedure is its sloppiness. It requires a loop to isolate each digit to be printed next, from left to right. For example, to isolate 6 in 6487, the algorithm needs to move left from the rightmost digit (7) until the leftmost digit (6) is detected. It is much more efficient to acquire the rightmost digit (7) first, which can be found by simply calculating n%10. Recursion comes to the rescue here and allows us to find the last digit with n%10 without reversing the order of the digits in the number. Using 6487 as an example, the process is as follows: Each step involves exactly the same actions. The only difference is the value the actions are applied to. This means just one method with different arguments when called can solve 3, 2, and 1. The results of lower steps are used to accomplish tasks at higher steps. For example, to accomplish 3, we must execute 2; to execute 2, we must execute 1. Because just one method can execute all three steps, and because every step contains the result of computations performed on a lower step, it is possible to solve the problem at hand recursively.

15 Appendix D NUMBER SYSTEMS 959 Each step is now easily calculated. For example, in step 1, 7 can be isolated with 6487%10. To isolate 648, we simply calculate 6487/10 (.7 is discarded). This process can be expressed recursively in C# as shown in Listing D.2. Notice that the arrows above illustrate calls to the printbaseten() method (see line 4). If n is smaller than 10, line 5 is executed by writing only one digit (n%10). If n is larger than or equal to 10, the last digit of the number is discarded and passed on to printbaseten with the recursive call in line 4. Notice that 6487/10 = 648, when passed to a variable of type int, not Remember from Chapter 23, Recursion Fundamentals that the recursive calls must progress toward the base case for the recursive method to be valid. The base case in the printbaseten method is an n with just one digit (0 9), which makes (n < 10) true and, hence, the condition (n >= 10) in line 3 of printbaseten false(see Listing D.2), preventing the recursive calls of line 4 to go any deeper. Because every recursive call to printbaseten removes one digit from n, we are clearly progressing toward the base case. LISTING D.2 Recursive Method to Print n as a Decimal Number 1: public static void printbaseten(int n) 2: { 3: if (n >= 10) 4: printbaseten(n / 10); 5: Console.Write(n%10); 6: } Armed with an understanding of Listing D.2, we are ready to tackle the problem of printing in any base The resulting code is found in line 7 and lines of Listing D.1. Line 7 declares an array containing all the digits of the hexadecimal system. When a digit is required, it is accessed and printed in line 56. Rather than merely passing n to printbase, we also pass the base of the number to which we are converting. It is interesting to note that the same logic utilized in Listing D.2 applies when 10, in lines 4 and 5, is substituted by nbase in lines 55 and 56 of Listing D.1. Negative Binary Numbers So far, we have only discussed positive numbers, but the computer also somehow needs to represent and process negative numbers with its underlying binary system. The computer uses a system whereby it allocates a specific bit, called a sign bit, to indicate whether a number is positive or negative. When this bit is 0, the sign is interpreted to be positive; similarly, 1 indicates a negative sign. To avoid confusion as to where this particular bit is located, the computer needs to know the exact length (the number of digits) of the number it is processing. It then designates the leftmost binary digit as the sign bit. Some numbers can contain 8 bits, others 16 bits, others 32 bits, and so on. This is fine, as long as the computer knows the length in each particular case. However, this is not the whole story. An example illustrates why.

16 960 C# PRIMER PLUS Adding 7 (in base 2) to 15 (in base 2) should give the answer +8. Let s perform the calculations assuming the number length is 8 bits and the leftmost bit is the sign bit. First, the value of 7 is found by changing the sign bit of 7, as illustrated next, resulting in the value in base 2 is Adding to results in the following: The answer is equivalent to 22, obviously not the correct result. Even though treating the sign just like another digit can seem somewhat shoddy, we are moving in the right direction. We need to subtract +15 from +8 to realize how we can represent 7 correctly. We apply the same method used in base-10 subtractions of borrowing. Then the claim is that 7 in base 10 is equivalent to in base 2. Hmm, it doesn t look like it, but let s do a small test. We know that 7+( 7) = 0, so should be It s looking very promising. The carry keeps moving left until it is discarded from the leftmost bit, which gives the promising result of Let s perform our previous calculation ( 7)+15 to perform another check.

17 Appendix D NUMBER SYSTEMS 961 Another correct result! In fact, is the correct representation for 7. It even comes with its own term the two s complement representation of negative binary numbers. Earlier, we found the base 2 equivalent of 7 by calculating Even though we got the correct result, it was fairly awkward. Fortunately, there is a much easier way to find two s complement. The following are the steps using 7 as an example: 1. Write down the positive binary number of a given decimal number Form one s complement by reversing each bit of the number. 0s become 1s and 1s become 0s. We then obtain Form two s complement simply by adding 1 to one s complement. The final result is the familiar C# has a built-in bitwise complement operator ~. At the machine level, ~value is equivalent to value with all its bits reversed. The complement operator is very handy for the computer when performing subtractions such as the following: a = b value; At the lower levels, this subtraction becomes So, even though the computer performs a subtraction, it is done by adding the negative value of value to b.

### Number Systems Richard E. Haskell

NUMBER SYSTEMS D Number Systems Richard E. Haskell Data inside a computer are represented by binary digits or bits. The logical values of these binary digits are denoted by and, while the corresponding

### UNIT 2 : NUMBER SYSTEMS

UNIT 2 : NUMBER SYSTEMS page 2.0 Introduction 1 2.1 Decimal Numbers 2 2.2 The Binary System 3 2.3 The Hexadecimal System 5 2.4 Number Base Conversion 6 2.4.1 Decimal To Binary 6 2.4.2 Decimal to Hex 7

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### NUMBERING SYSTEMS C HAPTER 1.0 INTRODUCTION 1.1 A REVIEW OF THE DECIMAL SYSTEM 1.2 BINARY NUMBERING SYSTEM

12 Digital Principles Switching Theory C HAPTER 1 NUMBERING SYSTEMS 1.0 INTRODUCTION Inside today s computers, data is represented as 1 s and 0 s. These 1 s and 0 s might be stored magnetically on a disk,

### 6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10

Lesson The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base- system. When you

### Section 1.4 Place Value Systems of Numeration in Other Bases

Section.4 Place Value Systems of Numeration in Other Bases Other Bases The Hindu-Arabic system that is used in most of the world today is a positional value system with a base of ten. The simplest reason

### Note that the exponents also decrease by 1 with each column move to the right, so the

Base Systems Jacqueline A. Jones People use the decimal number system to perform arithmetic operations. Computers, on the other hand, use the binary system, which contains only two digits: 0 and 1. We

### Computer Science 281 Binary and Hexadecimal Review

Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two

### Binary Numbers. Bob Brown Information Technology Department Southern Polytechnic State University

Binary Numbers Bob Brown Information Technology Department Southern Polytechnic State University Positional Number Systems The idea of number is a mathematical abstraction. To use numbers, we must represent

### NUMBER SYSTEMS. William Stallings

NUMBER SYSTEMS William Stallings The Decimal System... The Binary System...3 Converting between Binary and Decimal...3 Integers...4 Fractions...5 Hexadecimal Notation...6 This document available at WilliamStallings.com/StudentSupport.html

### Introduction Number Systems and Conversion

UNIT 1 Introduction Number Systems and Conversion Objectives 1. Introduction The first part of this unit introduces the material to be studied later. In addition to getting an overview of the material

### Lecture 2. Binary and Hexadecimal Numbers

Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations

### Digital Electronics. 1.0 Introduction to Number Systems. Module

Module 1 www.learnabout-electronics.org Digital Electronics 1.0 Introduction to What you ll learn in Module 1 Section 1.0. Recognise different number systems and their uses. Section 1.1 in Electronics.

### Chapter 2: Number Systems

Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

### Base Conversion written by Cathy Saxton

Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,

### Number Systems and Base Conversions

Number Systems and Base Conversions As you know, the number system that we commonly use is the decimal or base- 10 number system. That system has 10 digits, 0 through 9. While it's very convenient for

### Representation of Data

Representation of Data In contrast with higher-level programming languages, C does not provide strong abstractions for representing data. Indeed, while languages like Racket has a rich notion of data type

### NUMBER SYSTEMS CHAPTER 19-1

NUMBER SYSTEMS 19.1 The Decimal System 19. The Binary System 19.3 Converting between Binary and Decimal Integers Fractions 19.4 Hexadecimal Notation 19.5 Key Terms and Problems CHAPTER 19-1 19- CHAPTER

### Review of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement

Review of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement Topic 1: Binary, Octal, and Hexadecimal Numbers The number system we generally use in our everyday lives is a decimal

### CSI 333 Lecture 1 Number Systems

CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...

### Decimal Numbers: Base 10 Integer Numbers & Arithmetic

Decimal Numbers: Base 10 Integer Numbers & Arithmetic Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Example: 3271 = (3x10 3 ) + (2x10 2 ) + (7x10 1 )+(1x10 0 ) Ward 1 Ward 2 Numbers: positional notation Number

### CHAPTER THREE. 3.1 Binary Addition. Binary Math and Signed Representations

CHAPTER THREE Binary Math and Signed Representations Representing numbers with bits is one thing. Doing something with them is an entirely different matter. This chapter discusses some of the basic mathematical

### The largest has a 0 in the sign position and 0's in all other positions:

10.2 Sign Magnitude Representation Sign Magnitude is straight-forward method for representing both positive and negative integers. It uses the most significant digit of the digit string to indicate the

### Lab 1: Information Representation I -- Number Systems

Unit 1: Computer Systems, pages 1 of 7 - Department of Computer and Mathematical Sciences CS 1408 Intro to Computer Science with Visual Basic 1 Lab 1: Information Representation I -- Number Systems Objectives:

### Lab 1: Information Representation I -- Number Systems

Unit 1: Computer Systems, pages 1 of 7 - Department of Computer and Mathematical Sciences CS 1410 Intro to Computer Science with C++ 1 Lab 1: Information Representation I -- Number Systems Objectives:

### A Short Introduction to Binary Numbers

A Short Introduction to Binary Numbers Brian J. Shelburne Department of Mathematics and Computer Science Wittenberg University 0. Introduction The development of the computer was driven by the need to

### Numbering Systems. InThisAppendix...

G InThisAppendix... Introduction Binary Numbering System Hexadecimal Numbering System Octal Numbering System Binary Coded Decimal (BCD) Numbering System Real (Floating Point) Numbering System BCD/Binary/Decimal/Hex/Octal

### Unit 2: Number Systems, Codes and Logic Functions

Unit 2: Number Systems, Codes and Logic Functions Introduction A digital computer manipulates discrete elements of data and that these elements are represented in the binary forms. Operands used for calculations

### Chapter 2 Numeric Representation.

Chapter 2 Numeric Representation. Most of the things we encounter in the world around us are analog; they don t just take on one of two values. How then can they be represented digitally? The key is that

### Presented By: Ms. Poonam Anand

Presented By: Ms. Poonam Anand Know the different types of numbers Describe positional notation Convert numbers in other bases to base 10 Convert base 10 numbers into numbers of other bases Describe the

### Arithmetic Circuits Addition, Subtraction, & Multiplication

Arithmetic Circuits Addition, Subtraction, & Multiplication The adder is another classic design example which we are obliged look at. Simple decimal arithmetic is something which we rarely give a second

### CHAPTER 3 Number System and Codes

CHAPTER 3 Number System and Codes 3.1 Introduction On hearing the word number, we immediately think of familiar decimal number system with its 10 digits; 0,1, 2,3,4,5,6, 7, 8 and 9. these numbers are called

### A First Book of C++ Chapter 2 Data Types, Declarations, and Displays

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming Errors

### Number System. Some important number systems are as follows. Decimal number system Binary number system Octal number system Hexadecimal number system

Number System When we type some letters or words, the computer translates them in numbers as computers can understand only numbers. A computer can understand positional number system where there are only

### MATH 2420 Discrete Mathematics Lecture notes Numbering Systems

MATH 2420 Discrete Mathematics Lecture notes Numbering Systems Objectives: Introduction: 1. Represent a binary (hexadecimal, octal) number as a decimal number. 2. Represent a decimal (hexadecimal, octal)

### Oct: 50 8 = 6 (r = 2) 6 8 = 0 (r = 6) Writing the remainders in reverse order we get: (50) 10 = (62) 8

ECE Department Summer LECTURE #5: Number Systems EEL : Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz Decimal Number System: -Our standard number system is base, also

### Chapter II Binary Data Representation

Chapter II Binary Data Representation The atomic unit of data in computer systems is the bit, which is actually an acronym that stands for BInary digit. It can hold only 2 values or states: 0 or 1, true

### MT1 Number Systems. In general, the number a 3 a 2 a 1 a 0 in a base b number system represents the following number:

MT1 Number Systems MT1.1 Introduction A number system is a well defined structured way of representing or expressing numbers as a combination of the elements of a finite set of mathematical symbols (i.e.,

### CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline Data Representation Binary Codes Why 6-3-1-1 and Excess-3? Data Representation (1/2) Each numbering

### To convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:

Binary Numbers In computer science we deal almost exclusively with binary numbers. it will be very helpful to memorize some binary constants and their decimal and English equivalents. By English equivalents

### Number Systems and. Data Representation

Number Systems and Data Representation 1 Lecture Outline Number Systems Binary, Octal, Hexadecimal Representation of characters using codes Representation of Numbers Integer, Floating Point, Binary Coded

### Binary Representation and Computer Arithmetic

Binary Representation and Computer Arithmetic The decimal system of counting and keeping track of items was first created by Hindu mathematicians in India in A.D. 4. Since it involved the use of fingers

### Lecture 8 Binary Numbers & Logic Operations The focus of the last lecture was on the microprocessor

Lecture 8 Binary Numbers & Logic Operations The focus of the last lecture was on the microprocessor During that lecture we learnt about the function of the central component of a computer, the microprocessor

### Common Number Systems Number Systems

5/29/204 Common Number Systems Number Systems System Base Symbols Used by humans? Used in computers? Decimal 0 0,, 9 Yes No Binary 2 0, No Yes Octal 8 0,, 7 No No Hexadecimal 6 0,, 9, A, B, F No No Number

### Number Systems. Decimal Number System. Number Systems Week 3

Number Systems When we type some letters or words, the computer translates them in numbers as computers can understand only numbers. A computer can understand positional number system where there are only

### Here 4 is the least significant digit (LSD) and 2 is the most significant digit (MSD).

Number System Introduction Number systems provide the basis for all operations in information processing systems. In a number system the information is divided into a group of symbols; for example, 26

### Digital Logic. The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer.

Digital Logic 1 Data Representations 1.1 The Binary System The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer. The system we

### Digital System Design Prof. D. Roychoudhury Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Digital System Design Prof. D. Roychoudhury Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 03 Digital Logic - I Today, we will start discussing on Digital

### 1 Number System (Lecture 1 and 2 supplement)

1 Number System (Lecture 1 and 2 supplement) By Dr. Taek Kwon Many different number systems perhaps from the prehistoric era have been developed and evolved. Among them, binary number system is one of

### Signed Binary Arithmetic

Signed Binary Arithmetic In the real world of mathematics, computers must represent both positive and negative binary numbers. For example, even when dealing with positive arguments, mathematical operations

### 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:

Exercises 1 - number representations Questions 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal: (a) 3012 (b) - 435 2. For each of

### Lecture 1: Digital Systems and Number Systems

Lecture 1: Digital Systems and Number Systems Matthew Shuman April 3rd, 2013 The Digital Abstraction 1.3 in Text Analog Systems Analog systems are continuous. Look at the analog clock in figure 1. The

### BINARY NUMBERS A.I FINITE-PRECISION NUMBERS

A BINARY NUMBERS The arithmetic used by computers differs in some ways from the arithmetic used by people. The most important difference is that computers perform operations on numbers whose precision

### A B C

Data Representation Module 2 CS 272 Sam Houston State University Dr. Tim McGuire Copyright 2001 by Timothy J. McGuire, Ph.D. 1 Positional Number Systems Decimal (base 10) is an example e.g., 435 means

### Sessions 1, 2 and 3 Number Systems

COMP 1113 Sessions 1, 2 and 3 Number Systems The goal of these three class sessions is to examine ways in which numerical and text information can be both stored in computer memory and how numerical information

### Binary Numbers. X. Zhang Fordham Univ.

Binary Numbers X. Zhang Fordham Univ. 1 Numeral System! A way for expressing numbers, using symbols in a consistent manner.!! "11" can be interpreted differently:!! in the binary symbol: three!! in the

### = Chapter 1. The Binary Number System. 1.1 Why Binary?

Chapter The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base-0 system. When you

### Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

Unit 1 Number Sense In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions. BLM Three Types of Percent Problems (p L-34) is a summary BLM for the material

### NUMBER REPRESENTATIONS IN THE COMPUTER for COSC 120

NUMBER REPRESENTATIONS IN THE COMPUTER for COSC 120 First, a reminder of how we represent base ten numbers. Base ten uses ten (decimal) digits: 0, 1, 2,3, 4, 5, 6, 7, 8, 9. In base ten, 10 means ten. Numbers

### 1. True or False? A natural number is the number 0 or any number obtained by adding 1 to a natural number.

CS Illuminated, 5 th ed. Chapter 2 Review Quiz 1. True or False? A natural number is the number 0 or any number obtained by adding 1 to a natural number. 2. True or False? The category of numbers called

### Number Representation and Arithmetic in Various Numeral Systems

1 Number Representation and Arithmetic in Various Numeral Systems Computer Organization and Assembly Language Programming 203.8002 Adapted by Yousef Shajrawi, licensed by Huong Nguyen under the Creative

### Lecture 11: Number Systems

Lecture 11: Number Systems Numeric Data Fixed point Integers (12, 345, 20567 etc) Real fractions (23.45, 23., 0.145 etc.) Floating point such as 23. 45 e 12 Basically an exponent representation Any number

### CPEN 214 - Digital Logic Design Binary Systems

CPEN 4 - Digital Logic Design Binary Systems C. Gerousis Digital Design 3 rd Ed., Mano Prentice Hall Digital vs. Analog An analog system has continuous range of values A mercury thermometer Vinyl records

### Number Systems, Base Conversions, and Computer Data Representation

, Base Conversions, and Computer Data Representation Decimal and Binary Numbers When we write decimal (base 10) numbers, we use a positional notation system. Each digit is multiplied by an appropriate

### 1 Number systems 1.1 DECIMAL SYSTEM

A programmable logical controller uses the binary system rather than the decimal system to process memory cells, inputs, outputs, timers, flags etc.. DECIMAL SYSTEM In order to understand the binary number

### CS231: Computer Architecture I

CS231: Computer Architecture I Spring 2003 January 22, 2003 2000-2003 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor

### Introduction ToNumber Systems

Introduction ToNumber Systems Collected by: Zainab Alkadhem Page 1 of 25 Digital systems have such a prominent role in everyday life that we refer to the present technological period as the digital age.

### Lecture 1: Digital Systems and Binary Numbers

Lecture 1: Digital Systems and Binary Numbers Matthew Shuman September 30th, 2009 1 Digital Systems 1-1 in Text 1.1 Analog Systems Analog systems are continuous. Look at the analog clock in figure 1. The

### Number systems Fall, 2007

Number Systems What does 1234 mean? Before taking one step into computing, you need to understand the simplest mathematical idea, number systems. You will need to be comfortable with both binary (base

### 3. BINARY NUMBERS AND ARITHMETIC

3. BINARY NUMBERS AND ARITHMETIC 3.1. Binary Numbers The only place in a computer where you will find the number 9 is on the keyboard. Inside the computer you will only find 0 s and 1 s. All computer memory

### Binary Numbers. Binary Octal Hexadecimal

Binary Numbers Binary Octal Hexadecimal Binary Numbers COUNTING SYSTEMS UNLIMITED... Since you have been using the 10 different digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 all your life, you may wonder how

### Data Representation. Why Study Data Representation?

Why Study Data Representation? Computers process and store information in binary format For many aspects of programming and networking, the details of data representation must be understood C Programming

### ORG ; ZERO. Introduction To Computing

Dec 0 Hex 0 Bin 00000000 ORG ; ZERO Introduction To Computing OBJECTIVES this chapter enables the student to: Convert any number from base 2, base 10, or base 16 to any of the other two bases. Add and

### Two s Complement Arithmetic

Two s Complement Arithmetic We now address the issue of representing integers as binary strings in a computer. There are four formats that have been used in the past; only one is of interest to us. The

### Activity 1: Bits and Bytes

ICS3U (Java): Introduction to Computer Science, Grade 11, University Preparation Activity 1: Bits and Bytes The Binary Number System Computers use electrical circuits that include many transistors and

### Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Digital Logic II May, I before starting the today s lecture

### 2011, The McGraw-Hill Companies, Inc. Chapter 3

Chapter 3 3.1 Decimal System The radix or base of a number system determines the total number of different symbols or digits used by that system. The decimal system has a base of 10 with the digits 0 through

### Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6

Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6 Number Systems No course on programming would be complete without a discussion of the Hexadecimal (Hex) number

### 1.3 Data Representation

8628-28 r4 vs.fm Page 9 Thursday, January 2, 2 2:4 PM.3 Data Representation 9 appears at Level 3, uses short mnemonics such as ADD, SUB, and MOV, which are easily translated to the ISA level. Assembly

### Positional Numbering System

APPENDIX B Positional Numbering System A positional numbering system uses a set of symbols. The value that each symbol represents, however, depends on its face value and its place value, the value associated

### Grade 6 Math Circles. Binary and Beyond

Faculty of Mathematics Waterloo, Ontario N2L 3G1 The Decimal System Grade 6 Math Circles October 15/16, 2013 Binary and Beyond The cool reality is that we learn to count in only one of many possible number

### Digital Fundamentals

Digital Fundamentals with PLD Programming Floyd Chapter 2 29 Pearson Education Decimal Numbers The position of each digit in a weighted number system is assigned a weight based on the base or radix of

### Useful Number Systems

Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2

### OCTAL, BINARY, AND HEXADECIMAL NUMBERS

A: REVIEW - DECIMAL OR BASE 10 NUMBERS OCTAL, BINARY, AND HEXADECIMAL NUMBERS When we see a number like 2,578 we know the 2 counts for more than the 7, even though 7 is a larger number than 2. The reason

### Part 1 Theory Fundamentals

Part 1 Theory Fundamentals 2 Chapter 1 Information Representation Learning objectives By the end of this chapter you should be able to: show understanding of the basis of different number systems show

### Lesson 14..Binary, Hex, and Octal

Lesson 14..Binary, Hex, and Octal 14-1 We will examine four different number systems here, decimal, binary, hexadecimal (hex), and octal. In your study of these number systems it is very important to note

### Digital Design. Assoc. Prof. Dr. Berna Örs Yalçın

Digital Design Assoc. Prof. Dr. Berna Örs Yalçın Istanbul Technical University Faculty of Electrical and Electronics Engineering Office Number: 2318 E-mail: siddika.ors@itu.edu.tr Grading 1st Midterm -

### Number Systems. Before the inception of digital computers, the only number system

Number Systems Introduction & Objectives: Before the inception of digital computers, the only number system (النظام العشري) that was in common use is the decimal number system which has a total of 10 digits

### CSC 1103: Digital Logic. Lecture Six: Data Representation

CSC 1103: Digital Logic Lecture Six: Data Representation Martin Ngobye mngobye@must.ac.ug Mbarara University of Science and Technology MAN (MUST) CSC 1103 1 / 32 Outline 1 Digital Computers 2 Number Systems

### Data Representation Binary Numbers

Data Representation Binary Numbers Integer Conversion Between Decimal and Binary Bases Task accomplished by Repeated division of decimal number by 2 (integer part of decimal number) Repeated multiplication

### EE 3170 Microcontroller Applications

EE 37 Microcontroller Applications Lecture 3 : Digital Computer Fundamentals - Number Representation (.) Based on slides for ECE37 by Profs. Sloan, Davis, Kieckhafer, Tan, and Cischke Number Representation

### First the Basics Binary Arithmetic

www.preplogic.com -00-4-679 First the Basics Binary Arithmetic If you understand how binary numbers work, you can skip this section and go to the next. But, if you don t, you need to spend a bit of time

### 1 Basic Computing Concepts (4) Data Representations

1 Basic Computing Concepts (4) Data Representations The Binary System The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer. The

### Subnetting Examples. There are three types of subnetting examples I will show in this document:

Subnetting Examples There are three types of subnetting examples I will show in this document: 1) Subnetting when given a required number of networks 2) Subnetting when given a required number of clients

### School for Professional Studies UNDERGRADUATE PROGRAM COMPUTER SCIENCE FUNDAMENTALS SUPPLEMENTAL COURSE MATERIALS CS208-00T

School for Professional Studies UNDERGRADUATE PROGRAM COMPUTER SCIENCE FUNDAMENTALS SUPPLEMENTAL COURSE MATERIALS CS208-00T Table of Contents Suggested 8-week Schedule... Chapter 1: NUMBERING SYSTEMS AND

### Switching Circuits & Logic Design

Switching Circuits & Logic Design Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2013 1 1 Number Systems and Conversion Babylonian number system (3100 B.C.)

### COMP2121: Microprocessors and Interfacing

Interfacing Lecture 3: Number Systems (I) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2005 Overview Positional notation Decimal, hexadecimal and binary One complement Two s complement

### Binary Numbers The Computer Number System

Binary Numbers The Computer Number System Number systems are simply ways to count things. Ours is the base-0 or radix-0 system. Note that there is no symbol for 0 or for the base of any system. We count,2,3,4,5,6,7,8,9,