Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding Number Bases: Decimal, Binary, and Hexadecimal, Study notes of Number Theory

The concept of number bases, focusing on decimal, binary, and hexadecimal systems. It covers the notation, conversions between bases, and the significance of these number systems in computing. Learn how to convert binary and hexadecimal numbers to decimal and vice versa.

What you will learn

  • How do you convert a binary number to decimal?
  • What is the significance of hexadecimal numbers in computing?
  • How do you convert a hexadecimal number to binary?

Typology: Study notes

2021/2022

Uploaded on 09/27/2022

rajeshi
rajeshi 🇺🇸

4.1

(9)

237 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
11-15-2006 Base Conversion 1
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 (10x): 100 = 1, 101 = 10, 102 = 100, 103 = 1000, etc.
Each digit in a base 10 number can have a value from 0 to 9.
Base 10 numbers are commonly referred to as “decimal” numbers.
2. Notation
As we work with numbers, the following notation will be used. The top row of the table shows the value
for each place in the number. The second row shows the actual digits in the number.
253 is represented by:
100’s 10’s 1’s places
2 5 3
digits
3. General Base Definitions
Base n means that each place (x) in the number represents nx. (n0, n1, n2, n3, etc.)
Valid digits in base n are 0 to n-1.
When working with numbers in different bases, a subscript is usually used to indicate the base
(e.g. 25310 means 253 in base 10).
We can represent any number in any base. The number will usually look different when expressed in
another base, but its value is the same. When a number is stored in the computer’s memory, it has a specific
value; we can show it using base 10, base 2, base 16, etc., but the value never changes -- only the
representation changes.
4. Base 2: Binary
Each digit in a base 2 number can have a value of 0 or 1.
Places are 1’s, 2’s, 4’s, 8’s, etc. (20 = 1, 21 = 2, 22 = 4, 23 = 8, etc.)
Computers store numbers in binary, which is the common name for base 2 numbers. Each binary digit
corresponds to one bit of memory. There are 8 bits (or 8 binary digits) in a byte. The computer stores
values in memory by turning these bits on (1) or off (0) to correspond to the binary representation of the
number.
4.1. Converting binary to decimal
Converting from binary (base 2) to decimal (base 10) requires doing a little math with the digits in each
place. Here is an example for converting a binary value of 1001 to its decimal equivalent.
10012 = ?10
Remember that the places are 1’s, 2’s, 4’s, 8’s, etc:
(23) (22) (21) (20)
8’s 4’s 2’s 1’s
1 0 0 1
We make the following calculation to get the equivalent decimal number:
10012 = (1 * 8) + (0 * 4) + (0 * 2) + (1 * 1) = 8 + 0 + 0 + 1 = 910
Here’s another example:
110102 = ?10
16’s 8’s 4’s 2’s 1’s
1 1 0 1 0
110102 = (1 * 16) + (1 * 8) + (0 * 4) + (1 * 2) + (0 * 1) = 16 + 8 + 0 + 2 + 0 = 2610
pf3
pf4
pf5

Partial preview of the text

Download Understanding Number Bases: Decimal, Binary, and Hexadecimal and more Study notes Number Theory in PDF only on Docsity!

11-15-2006 Base Conversion 1

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, 10 3 = 1000, etc. Each digit in a base 10 number can have a value from 0 to 9. Base 10 numbers are commonly referred to as “decimal” numbers.

2. Notation

As we work with numbers, the following notation will be used. The top row of the table shows the value for each place in the number. The second row shows the actual digits in the number. 253 is represented by: 100’s 10’s 1’s (^) ← places (^2 5 3) ← digits

3. General Base Definitions

Base n means that each place (x) in the number represents n x. ( n^0 , n^1 , n^2 , n^3 , etc.) Valid digits in base n are 0 to n -1. When working with numbers in different bases, a subscript is usually used to indicate the base (e.g. 253 10 means 253 in base 10). We can represent any number in any base. The number will usually look different when expressed in another base, but its value is the same. When a number is stored in the computer’s memory, it has a specific value; we can show it using base 10, base 2, base 16, etc., but the value never changes -- only the representation changes.

4. Base 2: Binary

Each digit in a base 2 number can have a value of 0 or 1. Places are 1’s, 2’s, 4’s, 8’s, etc. (2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8, etc.) Computers store numbers in binary, which is the common name for base 2 numbers. Each binary digit corresponds to one bit of memory. There are 8 bits (or 8 binary digits) in a byte. The computer stores values in memory by turning these bits on (1) or off (0) to correspond to the binary representation of the number.

4.1. Converting binary to decimal

Converting from binary (base 2) to decimal (base 10) requires doing a little math with the digits in each place. Here is an example for converting a binary value of 1001 to its decimal equivalent.

1001 2 =? (^10)

Remember that the places are 1’s, 2’s, 4’s, 8’s, etc: (2 3 ) (2 2 ) (2 1 ) (2 0 ) 8 ’s 4 ’s 2 ’s 1 ’s 1 0 0 1 We make the following calculation to get the equivalent decimal number: 1001 2 = (1 * 8 ) + (0 * 4 ) + (0 * 2 ) + (1 * 1 ) = 8 + 0 + 0 + 1 = (^9 )

Here’s another example: 11010 2 =? (^10)

16 ’s 8 ’s 4 ’s 2 ’s 1 ’s 1 1 0 1 0 11010 2 = (1 * 16 ) + (1 * 8 ) + (0 * 4 ) + (1 * 2 ) + (0 * 1 ) = 16 + 8 + 0 + 2 + 0 = (^26 )

2 Base Conversion 11-15-

4.2. Converting decimal to binary

Converting from decimal to binary is a little trickier. Let’s consider the case of converting a decimal 5 to its binary representation.

5 10 =? (^2)

We’ll calculate the appropriate digit for each place in the resulting binary number, working from the left to the right. First, we determine the largest power of 2 that’s less than or equal to the number. In this case, 8 (2 3 ) is too large, so we start with the 4 (2^2 ). Therefore, we know the result will contain digits in three places -- 4’s, 2’s and 1’s: 4 ’s 2 ’s 1 ’s ??? We need to figure out which digits should be 1’s, and which should be 0’s (since these are the only legal values for a binary digit). We can see that putting a 1 in the 4’s place will help: 4 ’s 2 ’s 1 ’s (^1)?? This accounts for 4 of the 5 “units” that we need to represent. That means that we can’t have any 2’s (or the total would become larger than our goal of 5). So, we put a 0 in the 2’s place: 4 ’s 2 ’s 1 ’s (^1 0)? That leaves the 1’s place to fill, and we see that putting a 1 there will give us the desired result: 4 ’s 2 ’s 1 ’s (^1 0 1) ← this is the equivalent binary value 5 10 = (1 * 4 ) + (0 * 2 ) + (1 * 1 ) = (^101 )

Let’s work though another example: 22 10 =? (^2)

In this example, we need to start with the 16’s place (2^4 ); the next place (2^5 ) is the 32’s, which is too large: 16 ’s 8 ’s 4 ’s 2 ’s 1 ’s ????? Putting a 1 in the 16’s place means that we’ve accounted for 16 of 22 “units”. This leaves 22 - 16 = 6 remaining: 16 ’s 8 ’s 4 ’s 2 ’s 1 ’s (^1)???? total so far: 16 remaining: 6 We can’t use any 8’s since we only have 6 units remaining. (You can also observe that 16 + 8 = 24, which is too large.) So, we put a 0 in the 8’s place: 16 ’s 8 ’s 4 ’s 2 ’s 1 ’s (^1 0)??? total so far: 16 remaining: 6 We now see whether we can use a 4. Since 4 is less than the remaining 6, the 4 will be helpful, so we put a 1 in the 4’s place. That means that we now have remaining: 6 (our previous value) - 4 (what we just accounted for) = 2. 16 ’s 8 ’s 4 ’s 2 ’s 1 ’s (^1 0 1)?? total so far: 16 + 4 = 20 remaining: 2 Next we look at the 2’s. Since that’s exactly what we still need, we put a 1 in the 2’s place. That leaves us with 0 remaining. Since we don’t need anything more, we put a 0 in the 1’s place: 16 ’s 8 ’s 4 ’s 2 ’s 1 ’s (^1 0 1 1 0) ← the binary representation for 22 10 22 10 = (1 * 16 ) + (0 * 8 ) + (1 * 4 ) + (1 * 2 ) + (0 * 1 ) = (^10110 )

4 Base Conversion 11-15-

Let’s work though another example: 940 10 =? (^16)

In this case, we start with 256 (16 2 ). The next place is 16^3 = 4096, which is larger than our value. The resulting hex number will have 3 digits: 256 ’s 16 ’s 1 ’s ??? Calculate the digit for the 256’s place: 940 / 256 = 3 with a remainder of 172. So, we’ll put a 3 in the 256’s place. 256 ’s 16 ’s 1 ’s (^3)?? Calculate how much is left over: we’ve accounted for 3 * 256 = 768; that leaves 940 - 768 = 172. Calculate the digit for the 16’s place: 172 / 16 = 10 with a remainder of 12. So, we need ten 16’s. Recall that 10 is represented with A. 256 ’s 16 ’s 1 ’s 3 A (^)? The remainder, 12, tells us how much we still need to take care of. We put that value in the 1’s place, using C to represent 12. 940 10 = (3 * 256 ) + (10 * 16 ) + (12 * 1 ) = 3AC 16

6. Converting Between Binary and Hexadecimal

Converting between base 2 and base 16 is much simpler than converting either to base 10.

The minimum value that can be expressed with four binary digits is 0000, or 0 (^) 10. The maximum value that can be expressed with four binary digits is 1111, or 15 10 (8 + 4 + 2 + 1). So, we see that four binary digits can be used to represent the numbers 0-15, which is exactly the range represented by a single hex digit. Here are conversions from binary to hex: 0000 2 = 0 (^16) 0001 2 = 1 (^16) 0010 2 = 2 (^16) 0011 2 = 3 (^16)

1010 2 = A 16

1011 2 = B 16

1100 2 = C 16

1101 2 = D 16

1110 2 = E 16

1111 2 = F 16

Notice that every value that can be expressed with four binary digits can be expressed with a single hex digit, and every value that can be expressed with a single hex digit can be expressed with four binary digits.

Every hex digit can be represented with four binary digits. Every four binary digits can be converted to one hex digit.

To convert from binary to hex, separate the binary number into groups of four digits starting on the right. Each group can be converted to a hex value.

For example, 10010010 can be visualized as two 4-digit groups: 1001 0010; each group is converted to a hex value, and we get a result of 92: 1 0 0 1 0 0 1 0 9 2 10010010 2 = 92 (^16)

For binary numbers like 100110 that don’t divide evenly into 4-digit groups, add 0’s to the left as necessary: 0010 0110 2 = 26 16.

Converting hex to binary is just the reverse; be careful to write four binary digits for each hex digit -- that means starting with a zero for values less than 8. B4 16 = 1011 0100 (^2) You don’t need the zeros at the beginning of the binary number: 6F 16 = _110 1111 (^2)

11-15-2006 Base Conversion 5

Memory is just a continuous span of 1’s and 0’s. Modern computers typically like to retrieve 32 bits at a time. While we often use all 32 bits to represent a single value, it is also common to use that 32-bit space to store 2 or 4 values. Consider a 32-bit number such as: 00000000010001011010000000100011 The following table shows how we can interpret that memory -- as a single 32-bit value, two 16-bit values, or four 8-bit values: Binary Representation Hex Decimal One Value: 00000000010001011010000000100011 0045A023 4562979 Two Values: 0000000001000101, 1010000000100011 0045, A023 69, 40995 Four Values: 00000000, 01000101, 10100000, 00100011 00, 45, A0, 23 0, 69, 160, 35

Notice that by using the hex representation for the 32-bit value, you can easily determine the 2 or 4 values that are held in the 32 bits of memory.

Ultimately, the computer uses binary to store numbers. Unfortunately, representing numbers in binary is very verbose and hard to read. Using a base that’s a power of 2 retains the binary nature of computer math, but yields more compact and readable numbers. Base 4 isn’t much of an improvement. Base 8 is good, but represents binary digits in groups of three, while computers generally use groups of eight. Base 256 would require too many symbols. Base 16 represents binary digits in convenient groups of four, and only requires 16 symbols. That is why hex is commonly used when programming.

7. Other Interesting Facts

When we put a 0 at the end of a base 10 number, it has the effect of multiplying the value by 10; e.g. adding a 0 after 37 gives us 370, or 37 * 10. The same works for other bases, with the multiplier being the base number; e.g. 101 2 (5 10 ) becomes 1010 2 (10 10 = 5 [the original value] * 2 [the base]).

Dropping the last digit does an integer divide by the base; e.g. 368 / 10 = 36.

Base 8’s common name is octal. In C or C++, if you start an integer with a 0, it will be interpreted as an octal value. Conversion from binary to octal is like converting to hex, but using groups of three binary digits; e.g. 110 101 2 = 65 (^) 8.

When converting between hex and octal, the easiest way is to start by representing the value in binary!

8. Summary

base common name places valid digit values 10 decimal 1, 10, 100, 1000, etc. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 2 binary 1, 2, 4, 8, 16, 32, etc. 0, 1 16 hexadecimal, hex 1, 16, 256, 4096, etc. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F