Archived posting to the Leica Users Group, 2006/10/09
[Author Prev] [Author Next] [Thread Prev] [Thread Next] [Author Index] [Topic Index] [Home] [Search]The major and meaningful size-problem barrier is at 2GB. This is because the computer chips inside cameras deal in 32-bit chunks of information. The 32 bits hold numbers in binary, and each binary bit doubles the size of the number that it can hold. 1,2,4,8,16,32,64,128,256,512, and so forth. If you start with a 1 and double it 31 times, you get the number 2,147,483,648 which is 2 giga. 2,147,483,647 is the largest number that you can represent in a 32-bit system without special tricks. The reason you can't double again to get 4 gig -- 4,294,967,296 -- is that that last bit is needed to indicate negative numbers. On a regular 32-bit computer if you take the number 2,147,483,647 and add 1 to it, the answer will be -2,147,483,648 instead of +2,147,483,648. Bad mojo. So if you're going to build a digital system that deals with /anything/ bigger than 2GB, it needs to be patiently constructed to use two 32-bit data items to stand for a single number. This is tedious, error-prone, and slow, so deadline-wracked engineers don't do it until they have to, and they usually get it wrong the first couple of times. The next size bomb lurking in digital systems is 140 gig, which is the limit with a 48-bit system. Most computers built before aboutg 2000 or 2001 can't use hard drives bigger than 140 gig. 64-bit systems can deal with numbers up to 9,223,372,036,854,775,807 which is higher than I can count and certainly bigger than any storage device that's going to be made in my lifetime. So there's no need when building digital controllers to use more than two 32-bit items to store one number. This means there won't be a repeat of the 2GB problem at 4GB or 8GB or 16GB or whatever. If you can deal with something bigger than 2GB, then you can deal with pretty much anything.