Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Application Programming › Why is everything multiples of 8?
New Posts  All Forums:Forum Nav:

Why is everything multiples of 8? - Page 3

post #21 of 27
Quote:
Originally Posted by Bukinnear View Post

Read the explanation in the link from the third post. it explains things well. If you don't understand computers, programming or math, you may have trouble tongue.gif

Read the explanation in my post. It explains why the link from the third post doesn't actually "explain" anything, more like "states" it - byte is 8 bits because it is - and that was not what I was looking for.
Luckly Aximous'es post was right on target.
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
post #22 of 27
Thread Starter 
If you look closely, you will notice that the link actually takes you to page 2 of 4 in the explanation.

Here you go, http://computer.howstuffworks.com/bytes.htm
post #23 of 27
Quote:
Originally Posted by Bukinnear View Post

If you look closely, you will notice that the link actually takes you to page 2 of 4 in the explanation.

Here you go, http://computer.howstuffworks.com/bytes.htm

You're missing my point. Nevermind, cheers smile.gif
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
My Rig
(14 items)
 
Ex-wife's Rig
(15 items)
 
 
CPUMotherboardGraphicsRAM
Core i5 4460 AsRock H81M-DG4 Sapphire Rx470 Platinum KVR 1600 16Gb 
Hard DriveHard DriveCoolingOS
2x Seagate 3Tb Samsung 850 EVO 120 Scythe Ninja 3 Rev.B Windows 10 Pro 
MonitorKeyboardPowerCase
Fujitsu Siemens A17-2A Logitech K280e SuperFlower SF-550K12XP Thermaltake Versa H25 
MouseAudio
Logitech G402 Sony MDR XD150 
CPUMotherboardGraphicsRAM
Athlon 750K 4.0Ghz AsRock FM2A75 Pro4+ Sapphire R9 270X Dual-X Kingston 2x4Gb 1600 
Hard DriveHard DriveOptical DriveCooling
Samsung 850 EVO 120  Western Digital 320Gb LiteON DVD-RW CoolerMaster Hyper Z600 
OSMonitorKeyboardPower
Windows 7 Pro x64 Toshiba 32" FullHD TV Logitech FSP Hexa 550 
CaseMouse
DeLUX Logitech 
  hide details  
Reply
post #24 of 27
The reason why computers use multiples of 2 is because it is easier to make a a processor that way. I'm taking a class right now where im making a simple processor and if we weren't using multiples of 2 then my life would be a nightmare since my components wouldn't be scaleable.
Wahoo!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Xeon W3530 @1v stable EVGA SLI3 X58 EVGA GTX 470 6GB working ram 6GB dead sticks :(  
Hard DriveCoolingOSMonitor
4x1TB F3 Raid 5, Intel SSD Lots of Noctua fans. Windows 7 Ultimate. 2x Dell U2410f Monitors  
KeyboardPowerCaseMouse
Filco w/ cherry browns! Seasonic X-750 Lian-Li PC-B10 Original deathadder 
  hide details  
Reply
Wahoo!
(13 items)
 
  
CPUMotherboardGraphicsRAM
Xeon W3530 @1v stable EVGA SLI3 X58 EVGA GTX 470 6GB working ram 6GB dead sticks :(  
Hard DriveCoolingOSMonitor
4x1TB F3 Raid 5, Intel SSD Lots of Noctua fans. Windows 7 Ultimate. 2x Dell U2410f Monitors  
KeyboardPowerCaseMouse
Filco w/ cherry browns! Seasonic X-750 Lian-Li PC-B10 Original deathadder 
  hide details  
Reply
post #25 of 27
Quote:
Originally Posted by DuckieHo View Post

...and why might you ask binary?

Because it's the most simple possible numbering system and utilizes absolutes.

Is or is not. Once you have more values, it physically becomes harder distinguished values.

Weird statement. We use binary because transistors only have an on or off state, so what's actually happening isn't that we're picking a number system that's "simple", it's because the binary is designed to match up to the transistor states. It's more a matter of electronics than mathematics. New paradigms in CPUs (eg as seen with quantum computers) will force use to adopt a different number base for representing the states of the CPU.

Also binary isn't the simplest numbering system. Decimal is (which is why it's our default numbering system). Decimal offers the cleanest way to denominate and normalise numbers. Binary is pretty bad at this. But decimal doesn't work on transistors which is why we need binary.

And I'm not even sure what you mean by "utilizes absolutes":
  • If you mean integers, then you can map floating point numbers to binary (computers would be pretty useless if they couldn't calculate floating point numbers what-so-ever).
  • If you meant that binary only deals with "true" or "false" values, then you're talking about logic used in higher level languages - and that's got nothing to do with binary. That's purely a logic construct that we've created to make it easier to write computer programs. You can have absolutes like that with quantum computing if you wanted.


Binary is an inefficient way to process data. But so long as we have 2-state transistors at the heart of our calculators, then we're stuck with binary as the underlying number base.
post #26 of 27
Quote:
Originally Posted by Plan9 View Post

Weird statement. We use binary because transistors only have an on or off state, so what's actually happening isn't that we're picking a number system that's "simple", it's because the binary is designed to match up to the transistor states. It's more a matter of electronics than mathematics. New paradigms in CPUs (eg as seen with quantum computers) will force use to adopt a different number base for representing the states of the CPU.

Also binary isn't the simplest numbering system. Decimal is (which is why it's our default numbering system). Decimal offers the cleanest way to denominate and normalise numbers. Binary is pretty bad at this. But decimal doesn't work on transistors which is why we need binary.

And I'm not even sure what you mean by "utilizes absolutes":
  • If you mean integers, then you can map floating point numbers to binary (computers would be pretty useless if they couldn't calculate floating point numbers what-so-ever).
  • If you meant that binary only deals with "true" or "false" values, then you're talking about logic used in higher level languages - and that's got nothing to do with binary. That's purely a logic construct that we've created to make it easier to write computer programs. You can have absolutes like that with quantum computing if you wanted.


Binary is an inefficient way to process data. But so long as we have 2-state transistors at the heart of our calculators, then we're stuck with binary as the underlying number base.

We don't use binary because transistors are on or off. Most active gates are positive or negative (like +5V or -5V). It is possible to create a system that dynamically reacts based on voltage and it is also possible to react at differing voltage plateaus (giving definite integer numbers), but this system would be too complex to be practical.

The transistors "utilize absolutes" in that they are polar in nature instead of having multiple plateaus (as mentioned before). Base 10 offers NO ADVANTAGE over other bases (with exception of prime bases such as 7) and in fact offers a DISADVANTAGE over base 12 in that fractional quantities of 12 are easier to work with (the most common example of this is that 1/3 is 0.4 in base 12). In ancient times, the Sumerians and Babylonians used base 60 (imagine memorizing those multiplication tables) which was also likely chosen because it has so many factors (just like 12) and it was from them that we obtained the idea of 360 degrees, 60 minutes, and 60 seconds for both time and navigation. Our idea of using base 10 came from the Romans and the Arabic number system. People in general think base 10 makes more sense and is better, but that's only because of familiarity and years of training to be proficient with that base.

Computers can't calculate floating point numbers. They use SYMBOLIC representations of a subset of real base10 floating point numbers (with most offering either hardware or software symbolic support according to the IEEE754 spec). In addition, the precision of specific precision base10 decimal numbers is often lacking (that's why the definite 0.1 in base10 is a repeating decimal part in binary).

Binary logic is directly related to base2 (despite the ideas of binary logic being discovered thousands of years earlier). The outgrowth of Boolean Algebra and it's associated mathematics theories are in many ways an answer to the need to formalize logic mathematically (thus why boolean logic is 100+ years older than the first transistor and why the first boolean book was "An Investigation of the Laws of Thought").

Almost all (if not all) things in the universe can be reduced to a series of binary outputs. Binary may be inefficient, but the alternatives are even more inefficient in many ways. For example, the human brain is mostly analog in nature (though operating on several strictly binary principles), but it is not more efficient than a modern day microprocessor. The reason it is not more efficient in the strictest sense is that the human brain actively lies to itself and MUST continue to lie to itself to compensate for what it is not capable of processing. This is why so many little psychology "tricks" fool nearly everyone. A microprocessor is much better at taking it's designed input and giving the most accurate output with the added advantage of a strictly binary output (for contrast, humans can give all manner of indefinite, analog, and abstract answers). As a side note, I believe that computer AI has the same problems as humans in that the closer they get to modeling human behavior, the more assumptions about the universe they must make and thus more mistakes will happen.
post #27 of 27
Quote:
Originally Posted by hajile View Post

We don't use binary because transistors are on or off. Most active gates are positive or negative (like +5V or -5V). It is possible to create a system that dynamically reacts based on voltage and it is also possible to react at differing voltage plateaus (giving definite integer numbers), but this system would be too complex to be practical.
Except we do use such systems when it's critical to run non-binary calculations.
Most of the reason we use such gates is because that's what we had to use in the days of valves and binary had become somewhat of a legacy support issue. Ie it's easier to keep with that paradigm than re-teach ourselves how to build CPUs, rewrite entire software stacks from kernels to compilers to the end-user facing interfaces.

However if quantum computing does replace silicon, then that paradigm will shift away from binary. And it's entirely possible to have boolean logic without binary instructions.

Plus the complexity you're describing is an electrical engineering issue, not a mathematical / software one. Which ties back to my point about how binary is picked because of the hardware rather than the hardware being picked because binary is easier to program in.
Quote:
Originally Posted by hajile View Post

The transistors "utilize absolutes" in that they are polar in nature instead of having multiple plateaus (as mentioned before). Base 10 offers NO ADVANTAGE over other bases (with exception of prime bases such as 7) and in fact offers a DISADVANTAGE over base 12 in that fractional quantities of 12 are easier to work with (the most common example of this is that 1/3 is 0.4 in base 12). In ancient times, the Sumerians and Babylonians used base 60 (imagine memorizing those multiplication tables) which was also likely chosen because it has so many factors (just like 12) and it was from them that we obtained the idea of 360 degrees, 60 minutes, and 60 seconds for both time and navigation. Our idea of using base 10 came from the Romans and the Arabic number system. People in general think base 10 makes more sense and is better, but that's only because of familiarity and years of training to be proficient with that base.
hmm, interesting point. smile.gif
I'd love to chat to you further about this one day (and when it isn't at risk of drifting a thread off topic)
Quote:
Originally Posted by hajile View Post

Computers can't calculate floating point numbers. They use SYMBOLIC representations of a subset of real base10 floating point numbers (with most offering either hardware or software symbolic support according to the IEEE754 spec).
Which is what I said. The difference being that you're considering that mapping as failure because it's not happening natively and I consider it a success because we can run interpreted floating point calculations (after all, from a software perspective we do run floating point calculations on computers).

If you want to be as pedantic as you're being in regards to what computers literally do, then they cannot hold integers greater than 1 (it's a representation based on chaining bits), they cannot old negative numbers (it's a representation based on a signed bit) and they cannot even multiply nor divide. However going that low level is somewhat pointless to this discussion as I think there's a few assumptions we can expect in any structured programming language on any computer system. So it diverts focus away from the real the real question as to why we use binary in the first place.
Quote:
Originally Posted by hajile View Post

In addition, the precision of specific precision base10 decimal numbers is often lacking (that's why the definite 0.1 in base10 is a repeating decimal part in binary).
Well yeah, but floating point numbers are going to be an issue on any system. Even analogue devices have a finite level of precision (even if that's down to an atomic level to do with the roundedness of a curve on a dial - for want a crude example off the top of my head).
Quote:
Originally Posted by hajile View Post

Almost all (if not all) things in the universe can be reduced to a series of binary outputs.
possible != practical
Quote:
Originally Posted by hajile View Post

Binary may be inefficient, but the alternatives are even more inefficient in many ways. For example, the human brain is mostly analog in nature (though operating on several strictly binary principles), but it is not more efficient than a modern day microprocessor. The reason it is not more efficient in the strictest sense is that the human brain actively lies to itself and MUST continue to lie to itself to compensate for what it is not capable of processing. This is why so many little psychology "tricks" fool nearly everyone. A microprocessor is much better at taking it's designed input and giving the most accurate output with the added advantage of a strictly binary output (for contrast, humans can give all manner of indefinite, analog, and abstract answers). As a side note, I believe that computer AI has the same problems as humans in that the closer they get to modeling human behavior, the more assumptions about the universe they must make and thus more mistakes will happen.
Your last point is Interesting as that is my approach to developing AI as well (though my project has since stalled).
Edited by Plan9 - 3/19/13 at 4:56am
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Application Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Application Programming › Why is everything multiples of 8?