Follow TV Tropes

Following

History UsefulNotes / PowersOfTwoMinusOne

Go To

OR

Is there an issue? Send a MessageReason:
None


@@[[UsefulNotes/{{Python}} for x in range(16):\\

to:

@@[[UsefulNotes/{{Python}} @@[[MediaNotes/{{Python}} for x in range(16):\\
Is there an issue? Send a MessageReason:
None


@@[[UsefulNotes/{{Python}} for x in range(1, 17):\\
print((2 ** x) - 1)]]@@

to:

@@[[UsefulNotes/{{Python}} for x in range(1, 17):\\
range(16):\\
print((2 ** x) (x + 1)) - 1)]]@@
Is there an issue? Send a MessageReason:
None
Is there an issue? Send a MessageReason:
The previous equation only printed the squares - 1 of the numbers 0 through 15.


@@[[UsefulNotes/{{Python}} for x in range(16):\\

to:

@@[[UsefulNotes/{{Python}} for x in range(16):\\range(1, 17):\\
Is there an issue? Send a MessageReason:
I figured that this monospace header would be OK to add, since it's there for Daemon, fitting with the book being a techno-thriller.

Added DiffLines:

@@[[UsefulNotes/{{Python}} for x in range(16):\\
print((2 ** x) - 1)]]@@
Is there an issue? Send a MessageReason:
Namespace migration


* '''32 bits''' can hold a value as high as 4,294,967,295. Most home consoles from the [[UsefulNotes/TheFourthGenerationOfConsoleVideoGames fourth generation]] to the [[UsefulNotes/TheSixthGenerationOfConsoleVideoGames sixth generation]] were 32-bit (the Platform/{{Nintendo 64}} and Platform/PlayStation2 being the exceptions), as was the Platform/{{Wii}}, and all post-2000 handhelds prior to the Platform/NintendoSwitch. So are desktop [=PCs=] made from 1987 to 2007, and most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The Platform/{{Nintendo 64}}[[note]]though most games run in 32-bit mode[[/note]], Platform/PlayStation2, all home consoles since the [[UsefulNotes/TheSeventhGenerationOfConsoleVideoGames seventh generation]] (except the Wii), and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).

to:

* '''32 bits''' can hold a value as high as 4,294,967,295. Most home consoles from the [[UsefulNotes/TheFourthGenerationOfConsoleVideoGames [[MediaNotes/TheFourthGenerationOfConsoleVideoGames fourth generation]] to the [[UsefulNotes/TheSixthGenerationOfConsoleVideoGames [[MediaNotes/TheSixthGenerationOfConsoleVideoGames sixth generation]] were 32-bit (the Platform/{{Nintendo 64}} and Platform/PlayStation2 being the exceptions), as was the Platform/{{Wii}}, and all post-2000 handhelds prior to the Platform/NintendoSwitch. So are desktop [=PCs=] made from 1987 to 2007, and most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The Platform/{{Nintendo 64}}[[note]]though most games run in 32-bit mode[[/note]], Platform/PlayStation2, all home consoles since the [[UsefulNotes/TheSeventhGenerationOfConsoleVideoGames [[MediaNotes/TheSeventhGenerationOfConsoleVideoGames seventh generation]] (except the Wii), and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
Is there an issue? Send a MessageReason:
None


Computers also have a limit to the maximum size a variable can be. It's not a hard limit, but using bigger numbers slows down computation considerably. Whenever you hear about the "number of bits" of a video game console (e.g., the UsefulNotes/NintendoEntertainmentSystem being "8-bit"), that's what they're referring to. The NES has an 8-bit data bus; it can only move 8 bits of data around at a time. If it has to move any more, it has to do it in more than one cycle (and if it has to do math on them, it needs to CarryTheOne). In technical terms, this is called "word size."

to:

Computers also have a limit to the maximum size a variable can be. It's not a hard limit, but using bigger numbers slows down computation considerably. Whenever you hear about the "number of bits" of a video game console (e.g., the UsefulNotes/NintendoEntertainmentSystem Platform/NintendoEntertainmentSystem being "8-bit"), that's what they're referring to. The NES has an 8-bit data bus; it can only move 8 bits of data around at a time. If it has to move any more, it has to do it in more than one cycle (and if it has to do math on them, it needs to CarryTheOne). In technical terms, this is called "word size."



* '''8 bits''' can hold a value as high as 255. The UsefulNotes/{{Atari 2600}} and [[UsefulNotes/{{Atari 7800}} 7800]], UsefulNotes/NintendoEntertainmentSystem, UsefulNotes/SegaMasterSystem, UsefulNotes/GameBoy and early home computers were all 8-bit.

to:

* '''8 bits''' can hold a value as high as 255. The UsefulNotes/{{Atari Platform/{{Atari 2600}} and [[UsefulNotes/{{Atari [[Platform/{{Atari 7800}} 7800]], UsefulNotes/NintendoEntertainmentSystem, UsefulNotes/SegaMasterSystem, UsefulNotes/GameBoy Platform/NintendoEntertainmentSystem, Platform/SegaMasterSystem, Platform/GameBoy and early home computers were all 8-bit.



* '''16 bits''' can hold a value as high as 65,535. The UsefulNotes/SuperNintendoEntertainmentSystem and UsefulNotes/SegaGenesis are 16-bit, as are [=PCs=] made in the mid-1980s, some late-1990s handhelds, and a few Japanese gaming computers.

to:

* '''16 bits''' can hold a value as high as 65,535. The UsefulNotes/SuperNintendoEntertainmentSystem Platform/SuperNintendoEntertainmentSystem and UsefulNotes/SegaGenesis Platform/SegaGenesis are 16-bit, as are [=PCs=] made in the mid-1980s, some late-1990s handhelds, and a few Japanese gaming computers.



* '''32 bits''' can hold a value as high as 4,294,967,295. Most home consoles from the [[UsefulNotes/TheFourthGenerationOfConsoleVideoGames fourth generation]] to the [[UsefulNotes/TheSixthGenerationOfConsoleVideoGames sixth generation]] were 32-bit (the UsefulNotes/{{Nintendo 64}} and UsefulNotes/PlayStation2 being the exceptions), as was the UsefulNotes/{{Wii}}, and all post-2000 handhelds prior to the UsefulNotes/NintendoSwitch. So are desktop [=PCs=] made from 1987 to 2007, and most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The UsefulNotes/{{Nintendo 64}}[[note]]though most games run in 32-bit mode[[/note]], UsefulNotes/PlayStation2, all home consoles since the [[UsefulNotes/TheSeventhGenerationOfConsoleVideoGames seventh generation]] (except the Wii), and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).

to:

* '''32 bits''' can hold a value as high as 4,294,967,295. Most home consoles from the [[UsefulNotes/TheFourthGenerationOfConsoleVideoGames fourth generation]] to the [[UsefulNotes/TheSixthGenerationOfConsoleVideoGames sixth generation]] were 32-bit (the UsefulNotes/{{Nintendo Platform/{{Nintendo 64}} and UsefulNotes/PlayStation2 Platform/PlayStation2 being the exceptions), as was the UsefulNotes/{{Wii}}, Platform/{{Wii}}, and all post-2000 handhelds prior to the UsefulNotes/NintendoSwitch.Platform/NintendoSwitch. So are desktop [=PCs=] made from 1987 to 2007, and most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The UsefulNotes/{{Nintendo Platform/{{Nintendo 64}}[[note]]though most games run in 32-bit mode[[/note]], UsefulNotes/PlayStation2, Platform/PlayStation2, all home consoles since the [[UsefulNotes/TheSeventhGenerationOfConsoleVideoGames seventh generation]] (except the Wii), and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).



* As a {{Cap}}. Programming for older systems is really ''really'' hard; these systems were relatively good at graphics processing, but very bad at calculations, so every CPU cycle saved was a big deal.[[note]]UsefulNotes/{{Atari|2600}} was hit the hardest: it had ''no'' UsefulNotes/VideoRAM, so programmers had to create the picture by timely manipulation of the graphic output registers, but as it also had no interrupt lines in the {{CPU}}, this was possible only by the careful timing of the program itself and inserting graphical output commands into the correct places.[[/note]] If you cap a value to the actual limit of your variable, you can enforce the cap with a "did previous instruction overflow" test, which is usually faster than a "is X greater than Y" test (the latter often involves hidden subtraction, even on newer processors).

to:

* As a {{Cap}}. Programming for older systems is really ''really'' hard; these systems were relatively good at graphics processing, but very bad at calculations, so every CPU cycle saved was a big deal.[[note]]UsefulNotes/{{Atari|2600}} [[note]]Platform/Atari2600 was hit the hardest: it had ''no'' UsefulNotes/VideoRAM, so programmers had to create the picture by timely manipulation of the graphic output registers, but as it also had no interrupt lines in the {{CPU}}, this was possible only by the careful timing of the program itself and inserting graphical output commands into the correct places.[[/note]] If you cap a value to the actual limit of your variable, you can enforce the cap with a "did previous instruction overflow" test, which is usually faster than a "is X greater than Y" test (the latter often involves hidden subtraction, even on newer processors).
Is there an issue? Send a MessageReason:
None


* '''8 bits''' can hold a value as high as 255. The UsefulNotes/{{Atari 2600}} and [[UsefulNotes/{{Atari 7800}} 7800]], UsefulNotes/NintendoEntertainmentSystem, UsefulNotes/SegaMasterSystem, and early home computers were all 8-bit.

to:

* '''8 bits''' can hold a value as high as 255. The UsefulNotes/{{Atari 2600}} and [[UsefulNotes/{{Atari 7800}} 7800]], UsefulNotes/NintendoEntertainmentSystem, UsefulNotes/SegaMasterSystem, UsefulNotes/GameBoy and early home computers were all 8-bit.



* '''16 bits''' can hold a value as high as 65,535. The UsefulNotes/SuperNintendoEntertainmentSystem and UsefulNotes/SegaGenesis are 16-bit, as are [=PCs=] made in the mid-1980s, and a few Japanese gaming computers.

to:

* '''16 bits''' can hold a value as high as 65,535. The UsefulNotes/SuperNintendoEntertainmentSystem and UsefulNotes/SegaGenesis are 16-bit, as are [=PCs=] made in the mid-1980s, some late-1990s handhelds, and a few Japanese gaming computers.



* '''32 bits''' can hold a value as high as 4,294,967,295. The UsefulNotes/SegaSaturn and [[UsefulNotes/SegaDreamcast Dreamcast]], Sony UsefulNotes/{{PlayStation}}, Microsoft UsefulNotes/{{Xbox}} and the UsefulNotes/{{Wii}} are all 32-bit. So are desktop [=PCs=] made from 1987 to 2007, as are most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455.[[note]]340.2 Undecillion[[/note]] Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding four 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

Note that in addition to the above, most recent processors have additional "vector" processors for dealing with multiple calculations in parallel; these have so far been up to 256 bits wide. Also, floating point calculations are often done at different sizes.

to:

* '''32 bits''' can hold a value as high as 4,294,967,295. The UsefulNotes/SegaSaturn Most home consoles from the [[UsefulNotes/TheFourthGenerationOfConsoleVideoGames fourth generation]] to the [[UsefulNotes/TheSixthGenerationOfConsoleVideoGames sixth generation]] were 32-bit (the UsefulNotes/{{Nintendo 64}} and [[UsefulNotes/SegaDreamcast Dreamcast]], Sony UsefulNotes/{{PlayStation}}, Microsoft UsefulNotes/{{Xbox}} UsefulNotes/PlayStation2 being the exceptions), as was the UsefulNotes/{{Wii}}, and all post-2000 handhelds prior to the UsefulNotes/{{Wii}} are all 32-bit. UsefulNotes/NintendoSwitch. So are desktop [=PCs=] made from 1987 to 2007, as are and most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are a few major exceptions which made changing over to 64-bit a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]] The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 64}}[[note]]though most games run in 32-bit components[[/note]] Sony mode[[/note]], UsefulNotes/PlayStation2, all home consoles since the [[UsefulNotes/TheSeventhGenerationOfConsoleVideoGames seventh generation]] (except the Wii), and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455.[[note]]340.2 Undecillion[[/note]] Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding four 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

computers).

Note that in addition to the above, most recent processors have additional "vector" processors for dealing with multiple calculations in parallel; these have so far been up to 256 512 bits wide. Also, floating point calculations are often done at different sizes.
Is there an issue? Send a MessageReason:
24-bit

Added DiffLines:

* '''24 bits''' can hold a value as high as 16,777,215.
Is there an issue? Send a MessageReason:
None


* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455.[[note]]340.2 Undecillion[[/note]] Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

to:

* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455.[[note]]340.2 Undecillion[[/note]] Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 four 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].
Is there an issue? Send a MessageReason:
None


** That's a part of the reasoning for the whole concept of "magic numbers" in engineering. When you are making something you need to decide on some properties (like plank size or ceiling height, for example) anyway, so why not use the ones that someone [[FollowTheLeader has already used before]]? And then it happens that the similar sizes allow for compatibility and interoperability, it becomes a self-reinforcing convention, and we all end up with 2×4's[[note]]Dimensional lumber, used in United States and Canada. They are named after the lumber's profile thickness, in inches. 2×4's, it should be noted, are [[NonIndicativeName actually 1½×3½]]. Aren't standards fun?[[/note]]. The same logic applies to the programming too.

to:

** That's a part of the reasoning for the whole concept of "magic numbers" in engineering. When you are making something you need to decide on some properties (like plank size or ceiling height, for example) anyway, so why not use the ones that someone [[FollowTheLeader has already used before]]? And then it happens that the similar sizes allow for compatibility and interoperability, it becomes a self-reinforcing convention, and we all end up with 2×4's[[note]]Dimensional 2×4s[[note]]Dimensional lumber, used in United States and Canada. They are named after the lumber's profile thickness, in inches. 2×4's, 2×4s, it should be noted, are [[NonIndicativeName actually 1½×3½]]. Aren't standards fun?[[/note]]. The same logic applies to the programming too.
Is there an issue? Send a MessageReason:
None


* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455[[note]]340.2 Undecillion[[/note]]. Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

to:

* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455[[note]]340.340,282,366,920,938,463,463,374,607,431,768,211,455.[[note]]340.2 Undecillion[[/note]]. Undecillion[[/note]] Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].
Is there an issue? Send a MessageReason:
None


* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615[[note]]About 18.4 Quintillion[[/note]]. The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).

to:

* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615[[note]]About 18,446,744,073,709,551,615.[[note]]About 18.4 Quintillion[[/note]]. Quintillion[[/note]] The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).



* Floating point. This works like scientific notation; one bit is used to store the sign, some number of bits (called the mantissa) are used to store the number to the right of the decimal point, and the remaining bits (called the exponent) are, predictably, used to store the power of 2 to multiply by. (We use 2 instead of 10 because, again, computers work in binary.) It should be noted that this is a gross oversimplification -- if you've got ten minutes to kill and like ''VideoGame/SuperMario64'', speedrunner WebVideo/Pannenkoek2012 goes into more detail [[https://www.youtube.com/watch?v=9hdFG2GcNuA here]].

to:

* Floating point. This works like scientific notation; one bit is used to store the sign, some number of bits (called the mantissa) are used to store the number to the right of the decimal point, and the remaining bits (called the exponent) are, predictably, used to store the power of 2 to multiply by. (We use 2 instead of 10 because, again, computers work in binary.) It should be noted that this is a gross oversimplification -- if you've got ten minutes to kill and like ''VideoGame/SuperMario64'', speedrunner WebVideo/Pannenkoek2012 goes into more detail [[https://www.youtube.com/watch?v=9hdFG2GcNuA here]].
more detail here.]]
Is there an issue? Send a MessageReason:
None


*** It might backfire on modern processors as while multiplication takes a few cycles but the shifts would introduce data hazards and cause stall cycles. Hopefully the processor will implement out-of-order execution.

to:

*** It might backfire on modern processors as while multiplication takes a few cycles but the shifts would introduce data hazards and cause stall cycles. Hopefully the processor will implement out-of-order execution.
Is there an issue? Send a MessageReason:
None


* '''32 bits''' can hold a value as high as 4,294,967,295. The UsefulNotes/SegaSaturn and [[UsefulNotes/SegaDreamcast Dreamcast]], Sony UsefulNotes/{{PlayStation}}, Microsoft UsefulNotes/{{Xbox}} and the UsefulNotes/{{Wii}} are all 32-bit. So are desktop [=PCs=] made from 1987 to 2007. Most smartphones are 32-bit, with 64-bit phones starting to trickle out in 2013 and 2014.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615. The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455. Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

to:

* '''32 bits''' can hold a value as high as 4,294,967,295. The UsefulNotes/SegaSaturn and [[UsefulNotes/SegaDreamcast Dreamcast]], Sony UsefulNotes/{{PlayStation}}, Microsoft UsefulNotes/{{Xbox}} and the UsefulNotes/{{Wii}} are all 32-bit. So are desktop [=PCs=] made from 1987 to 2007. Most 2007, as are most smartphones made before 2018. Most devices will never feasibly reach this cap, but there are 32-bit, with a few major exceptions which made changing over to 64-bit phones starting to trickle out a necessity, such as the [[MillenniumBug Y2K38 Problem]] (in which the number of seconds passed since 1970 will reach that amount, causing problems in 2013 systems that use [[https://en.m.wikipedia.org/wiki/Unix_time Unix Time]]) and 2014.
the limited pool of [=IPv4=] addresses.
* '''64 bits''' can hold a value as high as 18,446,744,073,709,551,615.18,446,744,073,709,551,615[[note]]About 18.4 Quintillion[[/note]]. The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
* '''128 bits''' can hold a value as high as 340,282,366,920,938,463,463,374,607,431,768,211,455.340,282,366,920,938,463,463,374,607,431,768,211,455[[note]]340.2 Undecillion[[/note]]. Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].
Is there an issue? Send a MessageReason:
None


* Floating point. This works like scientific notation; one bit is used to store the sign, some number of bits (called the mantissa) are used to store the number to the right of the decimal point, and the remaining bits (called the exponent) are, predictably, used to store the power of 2 to multiply by. (We use 2 instead of 10 because, again, computers work in binary.) It should be noted that this is a gross oversimplification -- if you've got ten minutes to kill and like ''VideoGame/SuperMario64'', [[https://www.youtube.com/watch?v=9hdFG2GcNuA a speedrunner for that game goes into more detail]].

to:

* Floating point. This works like scientific notation; one bit is used to store the sign, some number of bits (called the mantissa) are used to store the number to the right of the decimal point, and the remaining bits (called the exponent) are, predictably, used to store the power of 2 to multiply by. (We use 2 instead of 10 because, again, computers work in binary.) It should be noted that this is a gross oversimplification -- if you've got ten minutes to kill and like ''VideoGame/SuperMario64'', speedrunner WebVideo/Pannenkoek2012 goes into more detail [[https://www.youtube.com/watch?v=9hdFG2GcNuA a speedrunner for that game goes into more detail]].
here]].
Tabs MOD

Changed: 4

Is there an issue? Send a MessageReason:
None


Video games are nothing more than computer programs, and they're limited by the systems they run on. One particularly strict limitation is the fact that computers can't handle numbers of arbitrary size with any kind of efficiency. Because efficiency is normally pretty important for video games, this places some hard limits on the range of values they can work with. Because computers work in binary, that size has to be a certain number of bits (binary digits -- a zero or a one). Numbers stored in a computer's memory are called ''variables''.

to:

Video games are nothing more than computer programs, and they're limited by the systems they run on. One particularly strict limitation is the fact that computers can't handle numbers of arbitrary size with any kind of efficiency. Because efficiency is normally pretty important for video games, {{video game}}s, this places some hard limits on the range of values they can work with. Because computers work in binary, that size has to be a certain number of bits (binary digits -- a zero or a one). Numbers stored in a computer's memory are called ''variables''.
Is there an issue? Send a MessageReason:
None


* '''128 bits''' can hold a value as high as 340.2 undecillion (or 3.4×10[[superscript:38]]). Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].

to:

* '''128 bits''' can hold a value as high as 340.2 undecillion (or 3.4×10[[superscript:38]]).340,282,366,920,938,463,463,374,607,431,768,211,455. Computers usually do not have 128-bit general-purpose registers, but the [[UsefulNotes/PlayStation3 PS3]]'s Cell, the UsefulNotes/Xbox360's CPU, and modern x64 [=CPUs=] (used both in [[UsefulNotes/IBMPersonalComputer [=PCs=]]] and [[UsefulNotes/AppleMacintosh Macs]]) do have 128-bit vector registers (holding 4 32-bit values). These are used for [[UsefulNotes/FlynnsTaxonomy vector math]].
Is there an issue? Send a MessageReason:
None


* '''64 bits''' can hold a value as high as 18.4 quintillion (or 1.84×10[[superscript:19]]). The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).

to:

* '''64 bits''' can hold a value as high as 18.4 quintillion (or 1.84×10[[superscript:19]]).18,446,744,073,709,551,615. The UsefulNotes/{{Nintendo 64}}, UsefulNotes/GameCube,[[note]]Although with some 32-bit components[[/note]] Sony UsefulNotes/PlayStation2, and modern desktop [=PCs=] are all 64-bit, with 64-bit operating systems becoming rather commonplace in 2010 (at least, on new computers).
Is there an issue? Send a MessageReason:
None


It's of course also possible just to store a rational number as a fraction by storing two integers, which has the advantage of avoiding various arithmetic errors that are found in fixed point and floating point numbers, but such a representation is rarely used outside of rigorous mathematical programming as it not only uses memory less efficiently (equivalent fractions can have different numerators and denominators), but it's slower to compute addition as denominators need to be made the same.

to:

It's of course also possible just to store a rational number as a fraction by storing two integers, which has the advantage of avoiding various arithmetic errors that are found in fixed point and floating point numbers, but such a representation is rarely used outside of rigorous mathematical programming as it not only uses memory less efficiently (equivalent fractions can have different numerators and denominators), but it's slower to compute addition as denominators need to be made the same. The mathematical errors intrinsic to fixed and floating point numbers are the reason for many of the sporadic errors in modern games as they cause unhandled edge cases in physical simulations.
Is there an issue? Send a MessageReason:
None

Added DiffLines:


It's of course also possible just to store a rational number as a fraction by storing two integers, which has the advantage of avoiding various arithmetic errors that are found in fixed point and floating point numbers, but such a representation is rarely used outside of rigorous mathematical programming as it not only uses memory less efficiently (equivalent fractions can have different numerators and denominators), but it's slower to compute addition as denominators need to be made the same.

Top