Helping people with computers... one answer at a time.

32, like 16 before it and 64 to follow, is special simply because computers think in powers of 2, as does Windows itself.

Why is the number 32 used so often in the naming of computer folders and files? For example System32, Twain32, Regedt32, and so on?

I had to chuckle when I read this question. It's a perfect example of how things computer folks take for granted are just so much black magic to "real" people.

32's special, because it comes after 16, and before 64. Which of course is just more black magic, I'm sure.

So we'll start at the beginning. In the beginning was the bit, and it all goes downhill from there.

You may already know this, but to refresh, modern digital computers really only know two things: "1", or "0". Or put another way, they can know only single things, called "bits", that can be either on, or off. Seriously, that's all they know. Every computer program, every digital photo, every music file, even the text you're looking at right now is just a collection of bits. A lot of bits, but only bits ... 1's and 0's.

"Every computer program, every digital photo, every music file, even the text you're looking at right now is just a collection of bits."

Now it's really cumbersome to have to think of everything as just a series of 1's and 0's, so there are some convenient ways of grouping them. You've probably already heard of a "byte" which is a collection of 8 bits. If you look at the number of possible different combinations of how those 8 bits can be set, each on or off, you'll find that there are 256 possible combinations - 00000000 through 11111111, or more conveniently 0 through 255.

The first popular microprocessors used in personal computers back in the day of say the Apple ][, were architected to deal with data one byte at a time. Thus they were called "8-bit" computers.

The IBM PC, when it was introduced used a processor that was effectively a 16 bit processor - handling data 16 bits, or two bytes at a time. Most modern machines use 32 bit processors, and 64 bit processors are now beginning to arrive.

In case you couldn't guess from the progression - 8, then 16, 32 and 64 - processors tend to double the way that they look at data as the technology improves. Is a 128 bit processor on the horizon? I don't know, but I'm sure there's one or more in a lab somewhere, if not elsewhere.

As the Intel-based processors used in the IBM and compatible machines grew in power and made those leaps from 8, to 16 and so on, there was the issue of software. In general, software written to run on a 16 bit processor would not run on a 32 bit machine - at least not without help. That help comes in the form of compatibility modes on the 32 bit processors that allow them to "look like" 16 bit processors.

In reality, the cart lead the horse. MS-DOS and early versions of Windows were, in fact, 16 bit software, so the processor was running in this compatibility mode most of the time. Slowly, as 32 bit versions of software was written to replace the older code, the processor's new features, like true multitasking, proper virtual memory and lots of physical memory, could be exploited.

But we were still faced with compatibility. 32 bit programs needed 32 bit support from the operating system, while 16 bit software needed the operating system to act like it used to. Thus things like "SYSTEM32" were born. It was the directory to hold the 32 bit versions of Windows components. The old "SYSTEM" directory was left to hold the older, 16 bit versions.

When you see the "32" in an actual file name, that's often the result of the same evolution ... that's probably the 32 bit version of a program that was once written for 16 bits.

Now what I've outlined so far is all the ideal, or the theory, more or less. It's best thought of as a rule of thumb, rather than laws that all programmers had to follow. As we've progressed from 16 to 32, and with 64 on the horizon, these rules haven't always been followed exactly, and they don't apply in all cases. But they do apply in most.

Article C2486 - December 11, 2005 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

4 Comments
Lynette Smith
December 12, 2005 6:03 PM

Very Interesting. I am much wiser now, as far as computing is concerned anyway.
Thankyou Leo.

Kindest Regards

Lynette

Phil
December 16, 2005 9:58 PM

Thanks Leo,
A little brush-up is always welcome. Merry Christmas to you and yours.

Phil

Digital Artist
December 7, 2010 5:47 PM

There are only 10 kinds of people in the world... those who understand binary and those who don't.

Tito De Leon
March 4, 2011 9:06 AM

How I Fix this error that appear every time I start the computer:there was a problem starting.C:Windows\system32\logilDA.dll
the specified module could not be found.
Thanks.


Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.