The Binary Number System Data Representation What is a number? What is a number? A number is a unit of an abstract mathematical system subject to the laws of arithmetic. The Laws of Arithmetic Succession Addition Multiplication Number Categories Natural (Whole) Negative The counting numbers Less than 0 Rational An integer, or the quotient of 2 integers Succession Positional Notation The Decimal system is based on the number of digits we have. Positional Notation allows us to count past 10 by organizing numeric digits in columns. Each column of a number represents a power of the base. The base is 10. The exponent is the order of magnitude for the column. Positional Notation 3 10 1 1000 2 10 1 100 1 10 1 10 0 10 1 •The exponent is the order of magnitude for the column. •The Least Significant digit is in the right-most column. •The Most Significant digit is in the left-most column. 1 Positional Notation 3 2 10 1 1000 10 1 100 The base is 10. 1 10 1 10 0 10 1 1 Positional Notation 3 10 1 1000 2 10 1 100 1 10 1 10 The magnitude of the column is base 0 10 1 exponent 1 Positional Notation 104 103 102 101 10000 1000 100 10 2 7 9 1 20000+7000 +900 +10 =27916 Consider a number like the one above. How many does it represent? 100 1 6 +6 Positional Notation 104 103 102 101 10000 1000 100 10 2 7 9 1 20000+7000 +900 +10 =27916 100 1 6 +6 The size of a number is determined by multiplying the magnitude of the column by the digit in the column and summing the products. Positional Notation 104 103 102 101 10000 1000 100 10 2 7 9 1 20000+7000 +900 +10 =27916 100 1 6 +6 The columns are labelled with their exponents. Positional Notation 104 103 102 101 10000 1000 100 10 2 7 9 1 20000+7000 +900 +10 =27916 The base of the system is 10. 100 1 6 +6 Positional Notation 104 103 102 101 10000 1000 100 10 2 7 9 1 20000+7000 +900 +10 =27916 The magnitude of the column is base 100 1 6 +6 exponent Positional Notation 104 103 102 101 10000 1000 100 10 *2 *7 *9 *1 20000+7000 +900 +10 =27916 100 1 *6 +6 Multiply the magnitude of the column by the digit in the column. Positional Notation 104 103 102 101 10000 1000 100 10 *2 *7 *9 *1 20000+7000 +900 +10 100 1 *6 +6 27 thousand, 9 hundred, sixteen Sum the products. Binary Numbers The binary number system is a means of representing quantities using only 2 digits: 0 and 1. Like other number systems it’s based on Positional Notation. Positional Notation In Binary, the columns have the expected exponents, 3 2 2 2 1 2 0 2 81 41 21 11 Positional Notation In Binary, the columns have the expected exponents, but the base of the system is 2. 3 2 2 2 1 2 0 2 81 41 21 11 Positional Notation In Binary, the columns have the expected exponents, but the base of the system is 2. So the column magnitudes are powers of 2. 3 2 2 2 1 2 0 2 81 41 21 11 Binary Rather than referring to each of the numbers as a binary digit, we shorten the term to bit. To facilitate addressing, binary values are typically stored in units of 8 bits, which is called a byte. Large values occupy multiple bytes. A Single Byte 27 26 25 24 23 22 128 64 32 16 8 4 1 1 1 1 1 1 128 +64 +32 +16 +8 +4 + =255 21 20 2 1 1 1 2 + 1 A Single Byte 27 26 25 24 23 22 128 64 32 16 8 4 1 1 1 1 1 1 128 +64 +32 +16 +8 +4 + =255 21 20 2 1 1 1 2 + 1 A Single Byte 27 26 25 24 23 22 128 64 32 16 8 4 1 1 1 1 1 1 128 +64 +32 +16 +8 +4 + =255 21 20 2 1 1 1 2 + 1 A Single Byte 27 26 25 24 23 22 128 64 32 16 8 4 1 1 1 1 1 1 128 +64 +32 +16 +8 +4 + =255 21 20 2 1 1 1 2 + 1 is the largest decimal value that can be expressed in 8 bits. How many different patterns are there? A Single Byte 27 26 128 64 0 0 0 +0 25 32 0 +0 24 16 0 +0 =0 23 22 8 4 0 0 +0 +0 + 21 20 2 1 0 0 0 + 0 There is also a representation for zero, making 256 (28) combinations of 0 and 1, in 8 bits. Natural Numbers in Binary Consider the pattern: 10010101 To calculate the Decimal equivalent: 1. multiply each digit by the value of the column 2. sum the products. Natural Numbers in Binary 27 26 128 64 1 0 25 32 0 24 23 16 8 1 0 22 4 1 21 2 0 20 1 1 Natural Numbers in Binary 27 26 128 64 1 0 25 32 0 24 23 16 8 1 0 22 4 1 21 2 0 20 1 1 Natural Numbers in Binary 27 26 128 64 1 0 25 32 0 24 23 16 8 1 0 22 4 1 21 2 0 20 1 1 Natural Numbers in Binary 27 26 25 24 23 22 128 64 32 16 8 4 1 0 0 1 0 1 128 + 0 + 0 +16 +0 +4 + 21 20 2 1 0 1 0 + 1 Natural Numbers in Binary 27 26 25 24 23 22 128 64 32 16 8 4 1 0 0 1 0 1 128 + 0 + 0 +16 +0 +4 + =149 21 20 2 1 0 1 0 + 1 Natural Numbers in Binary Conversion from Decimal to Binary uses the same technique, in reverse. Consider the value 73. This is 7 units of 10, plus 3 units of 1. Natural Numbers in Binary We need to express the value in terms of powers of 2. 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 Natural Numbers in Binary What is the largest power of 2 that is included in 73? 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 Natural Numbers in Binary 64 is the largest power of 2 that is included in 73, so a 1 is needed in that position 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 Natural Numbers in Binary Subtracting 64 from 73 leaves 9, which cannot include 32, or 16, but does include 8. 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 0 0 1 Natural Numbers in Binary Subtracting 8 from 9 leaves 1, which cannot include 4, or 2, but does include 1. 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 0 0 1 0 0 1 Natural Numbers in Binary So the 8 bit binary representation of 73 is: 01001001 Short Forms Longer Numbers Since 255 is the largest number that can be represented in 8 bits, larger values simply require longer numbers. For example, 27916 is represented by: 0110110100001100 Longer Numbers Since 255 is the largest number that can be represented in 8 bits, larger values simply require longer numbers. For example, 27916 is represented by: 0011011010000110 Can you remember the Binary representation? Short Forms for Binary Because large numbers require long strings of Binary digits, short forms have been developed to help deal with them. An early system was called Octal. It’s based on the 8 patterns in 3 bits. Short Forms for Binary - Octal 111 7 110 6 101 5 100 4 011 3 010 2 001 1 000 0 0011011010000110 can be short-formed by dividing the number into 3 bit chunks (starting from the least significant bit) and replacing each with a single Octal digit. Short Forms for Binary - Octal 111 7 110 6 101 5 100 4 011 3 010 2 001 1 000 0 000011011010000110 0 added 3 3 2 0 6 Short Forms for Binary - Hexadecimal 0111 7 1111 F 0110 6 1110 E 0101 5 1101 D 0100 4 1100 C 0011 3 1011 B 0010 2 1010 A 0001 1 1001 9 0000 0 1000 8 It was later determined that using base 16 and 4 bit patterns would be more efficient. But since there are only 10 numeric digits, 6 letters were borrowed to complete the set of hexadecimal digits. Short Forms for Binary - Hexadecimal 0111 7 1111 F 0110 6 1110 E 0101 5 1101 D 0100 4 1100 C 0011 3 1011 B 0010 2 1010 A 0001 1 1001 9 0000 0 1000 8 0011011010000110 can be short-formed by dividing the number into 4bit chunks (starting from the least significant bit) and replacing each with a single Hexadecimal digit. Short Forms for Binary - Hexadecimal 0111 7 1111 F 0110 6 1110 E 0101 5 1101 D 0100 4 1100 C 0011 3 1011 B 0010 2 1010 A 0001 1 1001 9 0000 0 1000 8 0011011010000110 3 6 8 6 Short Forms for Binary Octal and Hexadecimal are number systems. It is possible to perform arithmetic in both. 2 There are 64 (8 ) rules of octal addition, and 2 256 (16 ) rules of hexadecimal addition. But why design a machine with so many rules when conversion to Binary is simple and there are only 4 rules of Binary addition?