Follow TV Tropes

Following

History UsefulNotes / BinaryBitsAndBytes

Go To



Despite that bytes being 8-bits has been standardized around the world, communication systems still express how much stuff they can transfer as bits per second (sometimes transfers per second are used, but this is rare). How come they don't use bytes per second? The basic reason is that other bits may be used for certain purposes, making it impractical to use only 8-bits bytes for data. But for the long explanation:

to:

Despite that bytes being 8-bits has been standardized around the world, communication systems still express how much stuff they can transfer as bits per second (sometimes transfers per second are used, but this is rare). How come they don't use bytes per second? The basic reason is that other bits may be used for certain purposes, making it impractical to use only 8-bits 8-bit bytes for data. But for the long explanation:



* For high speed communication, filter caps are used to make sure lower frequency noise doesn't make it into the communication channels. However, if the overall voltage is greater than 0V, due to perhaps there being a string of 1s, this can charge the capacitor up which will cause the communication channel to get stuck in a higher voltage. To combat this, an encoding scheme is used using extra bits to ensure the average voltage across the channel is 0V. One popular method is the [[https://en.wikipedia.org/wiki/8b/10b_encoding 8b/10b encoding]] which uses 10 bits to transmit 8 bits.

to:

* For high speed communication, filter caps are used to make sure lower frequency noise doesn't make it into the communication channels. However, if the overall voltage is greater than 0V, due to perhaps there being a string of 1s, this can charge the capacitor up which will cause the communication channel to get stuck in a higher voltage. To combat this, an encoding scheme is used using schemes use extra bits to ensure the average voltage across the channel is 0V. One popular method is the [[https://en.wikipedia.org/wiki/8b/10b_encoding 8b/10b encoding]] which uses 10 bits to transmit 8 bits.


Despite that bytes being 8-bits has been standardized around the world, communication systems still express how much stuff they can transfer as bits per second (sometimes transfers per second are used, but this is rare). How come they don't use bytes per second? The basic reason is more than 8 bits are used for certain aspects of the communication system for the same amount of data as an 8-bit byte. But for the long explanation:

to:

Despite that bytes being 8-bits has been standardized around the world, communication systems still express how much stuff they can transfer as bits per second (sometimes transfers per second are used, but this is rare). How come they don't use bytes per second? The basic reason is more than 8 that other bits are may be used for certain aspects of the communication system purposes, making it impractical to use only 8-bits bytes for the same amount of data as an 8-bit byte.data. But for the long explanation:




to:

* Transmission from some media, where it's expected that errors can happen, have error correction bits built-in. For example, the Hamming Codes error correcting algorithm needs a certain amount of bits for the error detection and correcting system to work. A common format is Hamming(7,4), where 3-bits of parity information are added for every 4-bits of data. This expands out in powers of two, so the more data bits you have, the percentage of parity bits used goes down. Thus for devices using some error correcting code, it doesn't make sense to read the data as 8-bit bytes anyway.

Added DiffLines:

->''"If you can count to two, you can count to anything!"''
-->--''Literature/MenAtArms''


First things first. Despite being represented as ZeroesAndOnes, binary is not actually made of them. It can be any two distinct states; it's commonly represented as zeroes and ones because "00011101" is much easier to read and comprehend than "off, off, off, on, on, on, off, on". The states can be hole or no hole (ye olde punchcarde), voltage/no voltage (RAM), magnetic field polarities (UsefulNotes/{{Magnetic Disk}}s), reflective/not reflective (UsefulNotes/{{Optical Disc}}s, e.g. UsefulNotes/{{Compact Disc}}s), or anything else; the binary 0s and 1s are simply practical methods to represent the state of the electronic hardware. Which state represents which "digit" varies by architecture, but it's canonical to say either 0 or "off" and 1 or "on". Nowadays in some cases, it is not even a state that is represented by ones and zeroes, it is the ''change'' of the state, with 1 being an increase of some value, and 0 being a drop, for example.

to:

First things first. Despite being represented as ZeroesAndOnes, binary zeroes and ones, [[ComputersSpeakBinary binary]] is not actually made of them. It can be any two distinct states; it's commonly represented as zeroes and ones because "00011101" is much easier to read and comprehend than "off, off, off, on, on, on, off, on". The states can be hole or no hole (ye olde punchcarde), voltage/no voltage (RAM), magnetic field polarities (UsefulNotes/{{Magnetic Disk}}s), reflective/not reflective (UsefulNotes/{{Optical Disc}}s, e.g. UsefulNotes/{{Compact Disc}}s), or anything else; the binary 0s and 1s are simply practical methods to represent the state of the electronic hardware. Which state represents which "digit" varies by architecture, but it's canonical to say either 0 or "off" and 1 or "on". Nowadays in some cases, it is not even a state that is represented by ones and zeroes, it is the ''change'' of the state, with 1 being an increase of some value, and 0 being a drop, for example.


* Devices aren't always transmitting so the receiver has no way of knowing when something actually happened. Rather than use more wires or wasting the first data packet to tell the other side "I'm transmitting!", bits are used to tell the receiver the transmitter has started and has ended. The most simple usage of this is in most serial communication, where 1 bit is used to signal the start of the transmission and 1 bit (usually the opposite value) is used to signal the end.
* In some cases where the transmission rate is not known ahead of time, the transmitter embeds a clock signal with the data. This requires twice the number of bits to send the same data as the signal has to guarantee a bit flip at a certain rate. One widely used system is known as [[https://en.wikipedia.org/wiki/Manchester_code Manchester Code]]

to:

* Devices aren't always transmitting so the receiver has no way of knowing when something actually happened. Rather than use more wires or wasting the first data packet to tell the other side "I'm transmitting!", bits are used to tell the receiver the transmitter has started and has ended. The most simple usage of this is in most serial communication, where 1 bit is used to signal the start of the transmission and 1 bit (usually the opposite value) is used to signal the end. \n In this case, 10 bits are used to send an 8-bit byte.
* In some cases where the transmission rate is not known ahead of time, the transmitter embeds a clock signal with the data. This requires twice the number of bits to send the same data as the signal has to guarantee a bit flip at a certain rate. One widely used system is known as [[https://en.wikipedia.org/wiki/Manchester_code Manchester Code]]Code]]. In this case, assuming no other bits are used for anything, 16 bits are used to send an 8-bit byte.


!! What is a bit and a byte?



So, what does that 8-bit, 16-bit, 32-bit, or 128-bit on a gaming system mean?

to:

Despite that bytes being 8-bits has been standardized around the world, communication systems still express how much stuff they can transfer as bits per second (sometimes transfers per second are used, but this is rare). How come they don't use bytes per second? The basic reason is more than 8 bits are used for certain aspects of the communication system for the same amount of data as an 8-bit byte. But for the long explanation:
* Devices aren't always transmitting so the receiver has no way of knowing when something actually happened. Rather than use more wires or wasting the first data packet to tell the other side "I'm transmitting!", bits are used to tell the receiver the transmitter has started and has ended. The most simple usage of this is in most serial communication, where 1 bit is used to signal the start of the transmission and 1 bit (usually the opposite value) is used to signal the end.
* In some cases where the transmission rate is not known ahead of time, the transmitter embeds a clock signal with the data. This requires twice the number of bits to send the same data as the signal has to guarantee a bit flip at a certain rate. One widely used system is known as [[https://en.wikipedia.org/wiki/Manchester_code Manchester Code]]
* For high speed communication, filter caps are used to make sure lower frequency noise doesn't make it into the communication channels. However, if the overall voltage is greater than 0V, due to perhaps there being a string of 1s, this can charge the capacitor up which will cause the communication channel to get stuck in a higher voltage. To combat this, an encoding scheme is used using extra bits to ensure the average voltage across the channel is 0V. One popular method is the [[https://en.wikipedia.org/wiki/8b/10b_encoding 8b/10b encoding]] which uses 10 bits to transmit 8 bits.

!!
So, what does that 8-bit, 16-bit, 32-bit, or 128-bit on a gaming system mean?


This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total.[[note]]Natively, at least; it's actually possible on most 32-bit machines to use up to 64GB of RAM by making use of some sorcery called [[https://en.wikipedia.org/wiki/Physical_Address_Extension Physical Address Extension (PAE)]].

to:

This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are [[TechnologyMarchesOn have moved from being easily within reach of the average customer, customer into the]] ''[[TechnologyMarchesOn thrift store]]'' [[TechnologyMarchesOn world]], and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total.[[note]]Natively, at least; it's actually possible on most 32-bit machines to use up to 64GB of RAM by making use of some sorcery called [[https://en.wikipedia.org/wiki/Physical_Address_Extension Physical Address Extension (PAE)]].


However, for the computer to see more than 4GB of RAM, the operating system has to support using PAE to address more than 4GB of RAM, which not all [=OSs=] (even those that support PAE itself) do; for instance, while all versions of UsefulNotes/MicrosoftWindows since Windows 2000 support PAE, and Windows 8 and newer actually require a PAE-capable CPU in order to install, most 32-bit versions of Windows are limited to 4GB of RAM despite this, with only the higher-end server editions being able to use more RAM than this without modifying core system files. Most UsefulNotes/{{UNIX}} derivatives ''do'' support both PAE and the ability to access more than 4GB of RAM on 32-bit systems, either by default or at least as an option, while this is all completely irrelevant for UsefulNotes/MacOS, as the last version of [=MacOS=] to support 32-bit processors was Snow Leopard in 2011.[[/note]] PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.

to:

However, for the computer to see more than 4GB of RAM, the operating system has to support using PAE to address more than 4GB of RAM, which not all [=OSs=] (even those that support PAE itself) do; for instance, while all versions of UsefulNotes/MicrosoftWindows since Windows 2000 support PAE, and Windows 8 and newer actually require a PAE-capable CPU in order to install, most 32-bit versions of Windows are limited to 4GB of RAM despite this, with only the higher-end server editions being able to use more RAM than this without modifying core system files. Most UsefulNotes/{{UNIX}} derivatives ''do'' support both PAE and the ability to access more than 4GB of RAM on 32-bit systems, either by default or at least as an option, while this is all completely irrelevant for UsefulNotes/MacOS, as the last version of [=MacOS=] to support 32-bit processors was Snow Leopard in 2011.[[/note]] PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.


This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total.[[note]]Natively, at least; it's actually possible to use up to 64GB of RAM on a 32-bit machine by making use of some sorcery called [[https://en.wikipedia.org/wiki/Physical_Address_Extension Physical Address Extension (PAE)]].[[/note]] PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.

to:

This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total.[[note]]Natively, at least; it's actually possible on most 32-bit machines to use up to 64GB of RAM on a 32-bit machine by making use of some sorcery called [[https://en.wikipedia.org/wiki/Physical_Address_Extension Physical Address Extension (PAE)]].
However, for the computer to see more than 4GB of RAM, the operating system has to support using PAE to address more than 4GB of RAM, which not all [=OSs=] (even those that support PAE itself) do; for instance, while all versions of UsefulNotes/MicrosoftWindows since Windows 2000 support PAE, and Windows 8 and newer actually require a PAE-capable CPU in order to install, most 32-bit versions of Windows are limited to 4GB of RAM despite this, with only the higher-end server editions being able to use more RAM than this without modifying core system files. Most UsefulNotes/{{UNIX}} derivatives ''do'' support both PAE and the ability to access more than 4GB of RAM on 32-bit systems, either by default or at least as an option, while this is all completely irrelevant for UsefulNotes/MacOS, as the last version of [=MacOS=] to support 32-bit processors was Snow Leopard in 2011.
[[/note]] PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.


This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.

to:

This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. [[note]]Natively, at least; it's actually possible to use up to 64GB of RAM on a 32-bit machine by making use of some sorcery called [[https://en.wikipedia.org/wiki/Physical_Address_Extension Physical Address Extension (PAE)]].[[/note]] PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2[[superscript:32]] and 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.


It means word length. Computer processors deal with words, and it's easiest to use words that are a multiple of the eight bit byte. In most cases, this ''doesn't matter''. You can still program a 16-bit processor such that it displays numbers above 65,535; it will simply use two words to store the number. It's not going to block you from getting a high score or anything. These limitations can be gotten around with clever programming and knowledge of binary arithmetic.

to:

It means word length. Computer processors deal with words, and it's easiest to use words that are a multiple of the eight bit byte. In most cases, this ''doesn't matter''. You can still program a 16-bit processor such that it displays numbers above 65,535; 65,535 (assuming that you have enough RAM to do so); it will simply use two words to store the number. It's not going to block you from getting a high score or anything. These limitations can be gotten around with clever programming and knowledge of binary arithmetic.



----

to:

----


It was the IBM System/360 mainframe of 1964, an incredibly influential computer system, that standardized the 8-bit byte, because it was one of the first systems geared for the text processing in addition to a pure number crunching, and it encoded text as 8 bits per symbol, so it was quite logical to have a 8-bit byte, for the computer could then address each symbol separately, saving the work on transcoding. For the same reason it also codified words constructed out of bytes before that the "byte addressing" described above wasn't a given, a lot of machines had pure "word addressing", without breaking it to bytes. This resolved a conflict between processing, where a longer word is more efficient, and addressing, where a shorter word is more efficient. Each address in the 360 corresponded to one byte, but it processed data in words that were four bytes (32 bits) long.

A byte has 2^8, or 256 unique combinations to work with. For example, a single byte can represent any integer between 0 and 255, or between -128 and +127 if you use one of the bits to indicate whether the number is positive or negative (2^7 = 128). The maximum representable number is always one less than two to the power of the number of bits, because zero takes up one combination of all the possible bit permutations.

to:

It was the IBM System/360 mainframe of 1964, an incredibly influential computer system, that standardized the 8-bit byte, because it was one of the first systems geared for the text processing in addition to a pure number crunching, and it crunching. It encoded text as 8 bits per symbol, so it was quite logical to have a 8-bit byte, for byte; the computer could then address each symbol separately, saving the work on transcoding. For the same reason it also codified words constructed out of bytes before that the "byte addressing" described above wasn't a given, a lot of machines had pure "word addressing", without breaking it to bytes. This resolved a conflict between processing, where a longer word is more efficient, and addressing, where a shorter word is more efficient. Each address in the 360 corresponded to one byte, but it processed data in words that were four bytes (32 bits) long.

A byte has 2^8, 2[[superscript:8]], or 256 unique combinations to work with. For example, a single byte can represent any integer between 0 and 255, or between -128 and +127 if you use one of the bits to indicate whether the number is positive or negative (2^7 (2[[superscript:7]] = 128). The maximum representable number is always one less than two to the power of the number of bits, because zero takes up one combination of all the possible bit permutations.



This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2^32 and 2^64 is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.

to:

This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2^32 2[[superscript:32]] and 2^64 2[[superscript:64]] is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.


This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2^32 and 2^64 is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.

to:

This is actually a significant problem today. Memory is so cheap that 4 or even 8 gigabytes of RAM are easily within reach of the average customer, and programs are getting to the point where they can make use of it. But processors, operating systems, and software with 32-bit address spaces are limited to 4GB in total. PC games like ''VideoGame/SupremeCommander'' have issues with this, for example. To compound the problem, graphics cards need address space for their VideoRAM, UsefulNotes/VideoRAM, and many other devices use some of it as well, so the amount of actual RAM that a processor can see is usually limited to half of its address space. This problem is solved by increasing the address space to 64 bits, or 16 exabytes, so large it makes 4 gigabytes look like a speck. (In theory, anyway; most such processors are actually artificially capped at 48 to 52 bits.) Considering that the difference between 2^32 and 2^64 is so enormous, and considering also that modern IC manufacturing technology is getting to the point where transistors just ''can't'' be made any smaller, that should last us a while.


A bit is one of these pieces of information. Its value - the state - can either be 1 or 0. A bit is the smallest single unit of information possible in an electronic device. Everything you work with on your computer is composed of nothing but a long series of bits, and all numbers are internally represented as a binary number. It ''is'' technically possible to build a computer that counts in regular decimal numbers, and some early ones ''were'' in fact built this way, until the benefits of a binary system were understood, but bits are used for various reasons: they're easier to handle, the underlying electronics are cheaper, and because it also allows for ''logical operations'' in addition to your standard addition and subtraction. In practice, it's common to write binary numbers in hexadecimal (base 16), because hexadecimal is easier to read than binary and to converts easily to and from binary.

A byte is a set of eight bits. Why not ten, since we count in base ten? Because a byte is exactly two digits in hexadecimal and is large enough to be useful. A single bit isn't very useful, which is why from the earliest days of computing they were grouped in bytes, (which is [[PunnyName actually a pun]]). They usually were the smallest unit that could be looked up in memory. On the other hand, while ''processing'' information it was usually handled in different groupings based on the UsefulNotes/CentralProcessingUnit design, called 'words', and each computer had its own word length. Some computers, especially military ones, could have decidedly odd word lengths, like 21 or 37 bits, and thus byte length varied from 5 to 11 bits (a word length usually being a multiple of a byte length). Smaller processors and microcontrollers could even have a sub-byte word lengths -- for example, Intel 4004, the very first microprocessor ever, had a word that was 4 bits long.

to:

A bit is one of these pieces of information. Its value - the state - can either be 1 or 0. A bit is the smallest single unit of information possible in an electronic device. Everything you work with on your computer is composed of nothing but a long series of bits, and all numbers are internally represented as a binary number. It ''is'' technically possible to build a computer that counts in regular decimal numbers, and some early ones ''were'' in fact built this way, until the benefits of a binary system were understood, but bits are used for various reasons: they're easier to handle, the underlying electronics are cheaper, and because it also allows for ''logical operations'' in addition to your standard addition and subtraction. In practice, it's common to write binary numbers in hexadecimal (base 16), because hexadecimal is easier to read than binary and to converts easily to and from binary.

A byte is a set of eight bits. Why not ten, since we count in base ten? Because a byte is exactly two digits in hexadecimal and is large enough to be useful. A single bit isn't very useful, which is why from the earliest days of computing they were grouped in bytes, (which is [[PunnyName actually a pun]]). They usually were the smallest unit that could be looked up in memory. On the other hand, while ''processing'' information it was usually handled in different groupings based on the UsefulNotes/CentralProcessingUnit design, called 'words', and each computer had its own word length. Some computers, especially military ones, could have decidedly odd word lengths, like 21 or 37 bits, and thus byte length varied from 5 to 11 bits (a word length usually being a multiple of a byte length). Smaller processors and microcontrollers could even have a sub-byte word lengths -- for example, Intel 4004, the very first microprocessor ever, had a word that was 4 bits long. \n There is even a term for 4 bits, a "nybble" or "nibble," since it's "half a byte."

When they were building minicomputers and mainframes in the 1950s and 1960s nobody knew exactly what standard for byte and word size would become standard. Control Data made 60-bit word Cyber mainframes and six-bit bytes; Digital Equipment Corporation made 36-Bit DEC 10 and DEC 20 mainframes with 9 bit bytes, and other companies picked other sizes. Standardization wouldn't occur until someone made a huge number of sales.


First things first. Despite being represented as ZeroesAndOnes, binary is not actually made of them. It can be any two distinct states; it's commonly represented as zeroes and ones because "00011101" is much easier to read and comprehend than "off, off, off, on, on, on, off, on". The states can be hole or no hole (ye olde punchcarde), voltage/no voltage (RAM), magnetic field polarities (UsefulNotes/{{Magnetic Disk}}s), reflective/not reflective ({{Optical Disc}}s, e.g. UsefulNotes/{{Compact Disc}}s), or anything else; the binary 0s and 1s are simply practical methods to represent the state of the electronic hardware. Which state represents which "digit" varies by architecture, but it's canonical to say either 0 or "off" and 1 or "on". Nowadays in some cases, it is not even a state that is represented by ones and zeroes, it is the ''change'' of the state, with 1 being an increase of some value, and 0 being a drop, for example.

to:

First things first. Despite being represented as ZeroesAndOnes, binary is not actually made of them. It can be any two distinct states; it's commonly represented as zeroes and ones because "00011101" is much easier to read and comprehend than "off, off, off, on, on, on, off, on". The states can be hole or no hole (ye olde punchcarde), voltage/no voltage (RAM), magnetic field polarities (UsefulNotes/{{Magnetic Disk}}s), reflective/not reflective ({{Optical (UsefulNotes/{{Optical Disc}}s, e.g. UsefulNotes/{{Compact Disc}}s), or anything else; the binary 0s and 1s are simply practical methods to represent the state of the electronic hardware. Which state represents which "digit" varies by architecture, but it's canonical to say either 0 or "off" and 1 or "on". Nowadays in some cases, it is not even a state that is represented by ones and zeroes, it is the ''change'' of the state, with 1 being an increase of some value, and 0 being a drop, for example.

Showing 15 edit(s) of 23

Top