Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
|
NOTE: Using software to mass-download the site degrades the server and is prohibited. If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
|
|
|
|
Backgrounder: Data Representation and the Mathematics of Computing
Humans use decimal (base 10) numbers
to represent numeric information, and various alphabets and symbol systems
to represent other types of information. In contrast, computers understand
only one basic type of information: ones and zeroes, which themselves
are representative of either an on or off electrical
or light state within the hardware of the device. These ones and zeroes
are combined in various ways to form all the more common data elements
we are used to finding in computers: regular numbers, characters and
files. However, all of these are really only abstractions; the ones
and zeroes are always underneath whatever logical structures
used within the computer.
This same basic foundation of ones
and zeroes applies to networking as well. Even though most of the information
in a network is exchanged in a logical fashion between higher-layer
protocols, underlying all networking structures are the ones and zeroes
sent over the network medium. Understanding how data is represented
and manipulated in computer systems is important background information
that will help you comprehend many of the different technologies. Not
only are computer data representation and mathematics important for
explaining how low-level physical layer modulation and encoding techniques
work, they come into play even for higher-level concepts, such as how
IP addresses are set up and used on the Internet.
In this section I provide some general
background information on how numerical data is represented, stored
and manipulated within computers and networking hardware. I begin with
a description of binary numbers and the different terms used to refer
to collections of binary information of various sizes. I describe the
different types of numbering systems used in computer systems, such
as octal, decimal and hexadecimal, and how data can be converted between
these different types. I explain how arithmetic is performed on binary
and hexadecimal numbers. I then discuss boolean logic and how logical
functions are used to manipulate binary data.
These explanations then form the
basis for a discussion of how logical functions are used for setting,
clearing, inverting and masking bits. These operations are employed
extensively in certain networking technologies and protocols. Masking
operations are especially often used in IP addressing, so even though
this section seems rather low-level it is quite relevant to the world
of TCP/IP.
Needless to say, many of you reading
this Guide know most or all of the information in this section, so feel
free to skip (or just skim) those topics that you already know. However,
I wanted to provide this background detail for the sake of those new
to computing, or those needing a refresher. The pages are somewhat long
and I try to assume little in the descriptions, so you may want to breeze
through the parts that seem familiar. However, even those of you who
know what a bit and byte are and the difference between binary and decimal
numbers may find the discussion of bit masking worth perusing.
Note: There is only so much detail on the rudimentary basics of computing that I can cover in a Guide of this sort without getting too far afield. If the contents of this section are not sufficient to get you up to speed, I would recommend consulting a more comprehensive reference specific to computing theory and mathematics. |
Quick navigation to subsections and regular topics in this section
|
If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support! |
|
|
Home -
Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.
|