Digital computers communicate with external devices through ports: sets of terminals usually arranged in groups of 4, 8, 16, or more (4 bits = 1 nybble, 8 bits = 1 byte, 16 bits = 2 bytes). These terminals may be set to high or low logic states by writing a program for the computer that sends a numerical value to the port. For example, here is an illustration of a microcontroller being instructed to send the hexadecimal number F3 to port A and 2C to port B:
Suppose we wished to use the upper four bits of port A (pins 7, 6, 5, and 4) to drive the coils of a stepper motor in this eight-step sequence:
- Step 1:
- Step 2:
- Step 3:
- Step 4:
- Step 5:
- Step 6:
- Step 7:
- Step 8:
As each pin goes high, it drives a power MOSFET on, which sends current through that respective coil of the stepper motor. By following a ßhift” sequence as shown, the motor will rotate a small amount for each cycle.
Write the necessary sequence of numbers to be sent to port A to generate this specific order of bit shifts, in hexadecimal. Leave the lower four bit of port A all in the low logic state.
Observe the following sequence of numbers:
What pattern(s) do you notice in the digits, as we count upward from 0 to 21 (and beyond)? This may seem like a very simplistic question (and it is!), but it is important to recognize any inherent patterns so that you may understand counting sequences in numeration systems with bases other than ten.
The ancient Mayans used a vigesimal, or base-twenty, numeration system in their mathematics. Each “digit” was a actually a composite of dots and/or lines, as such:
To represent numbers larger than twenty, the Mayans combined multiple “digits” the same way we do to represent numbers larger than ten. For example:
Based on the examples shown above, determine the place-weighting of each “digit” in the vigesimal numeration system. For example, in our denary, or base-ten, system, we have a one’s place, a ten’s place, a hundred’s place, and so on, each successive “place” having ten times the “weight” of the place before it. What are the values of the respective “places” in the Mayan system?
Also, determine the values of these Mayan numbers:
Digital computers use a numeration system with a base of two, rather than a base of ten as we are accustomed to using. It is much easier to engineer circuitry that counts in “binary” than it is to design circuits that count in any other base system. Based on what you know of numeration systems, answer the following questions:
- How many different symbols (ciphers) are there in the binary numeration system?
- What are the different place-weight values in the binary system?
- How would you represent the number ßeventeen” in binary?
- In our base-ten (denary) numeration system, each character is called a “digit.” What is each character called in the binary numeration system?
If a digital meter display has four digits, it can represent any number from 0000 to 9999. This constitutes ten thousand unique numbers representable by the display. How many unique numbers could be represented by five digits? By six digits?
If an ancient Mayan ledger had spaces for writing numbers with three “digits” each, how many unique numbers could be represented in each space? What if the spaces were expanded to hold four “digits” each?
If a digital circuit has four bits, how many unique binary numbers can it represent? If we expanded its capabilities to eight bits, how many unique numbers could be represented by the circuit?
After answering these questions, do you see any mathematical pattern relating the number of “places” in a numeration system and the number of unique quantities that may be represented, given the “base” value (“radix”) of the numeration system? Write a mathematical expression that solves for the number of unique quantities representable, given the “base” of the system and the number of “places”.
The circuit shown in this diagram is used to transmit a numerical value from one location to another, by means of switches and lights:
Given the switches and lights shown, any whole number between 0 and 999 may be transmitted from the switch location to the light location.
In fact, the arrangement shown here is not too different from an obsolete design of electronic base-ten indicators known as Nixie tube displays, where each digit was represented by a neon-filled glass tube in which one of ten distinct electrodes (each in the shape of a digit, 0-9) could be energized, providing glowing numerals for a person to view.
However, the system shown in the above diagram is somewhat wasteful of wiring. If we were to use the same thirty-one conductor cable, we could represent a much broader range of numbers if each conductor represented a distinct binary bit, and we used binary rather than base-ten for the numeration system:
How many unique numbers are representable in this simple communications system? Also, what is the greatest individual number which may be sent from the “Sender” location to the “Receiver” location?
Explain why binary is a natural numeration system for expressing numbers in electronic circuits. Why not decimal or some other base of numeration?
How do you suspect binary numbers may be stored in electronic systems, for future retrieval? What advantages are there to the use of binary numeration in storage systems?
A numeration system often used as a ßhorthand” way of writing large binary numbers is the octal, or base-eight, system.
Based on what you know of place-weighted numeration systems, describe how many valid ciphers exist in the octal system, and the respective “weights” of each place in an octal number.
Also, perform the following conversions:
- 358 into decimal:
- 1610 into octal:
- 1100102 into octal:
- 518 into binary:
A numeration system often used as a ßhorthand” way of writing large binary numbers is the hexadecimal, or base-sixteen, system.
Based on what you know of place-weighted numeration systems, describe how many valid ciphers exist in the hexadecimal system, and the respective “weights” of each place in a hexadecimal number.
Also, perform the following conversions:
- 3516 into decimal:
- 3410 into hexadecimal:
- 111000102 into hexadecimal:
- 9316 into binary:
When representing non-whole numbers, we extend the “places” of our decimal numeration system past the right of the decimal point, like this:
How do you suppose we represent non-whole numbers in a numeration system with a base (or “radix”) other than ten? In the following examples, write the place-weight values underneath each place, and then determine the decimal equivalent of each example number:
In digital computer systems, binary numbers are often represented by a fixed number of bits, such as 8, or 16, or 32. Such bit groupings are often given special names, because they are so common in digital systems:
How many binary bits is represented by each of the above terms?
And, for those looking for more challenge, try defining these terms: