You can run a 32 bit and/or 64 OS on a 64 bit CPU.
You can run 32 bit and/or 64 programs on a 64 bit OS.
You can run 32 bit programs on 32 bit OSs.
You cannot run 64 bit programs on 32 bit OSs.**
All
current CPUs by intel and amd are 64 bit.*
*Just to be clear: P4s, athlons, celerons, semprons & xeons started as 32 bit CPUs, but current models are now 64 bit. And while the core2 desktop was always 64 bit, the core2 mobile started as 32 bit, but currently is 64 bit. PIII, PM, core (1) duo/solo, and older were only 32 bit (until you get back to the 16 bit 286 & 386sx).
So if you're looking at old computers with CPUs with those mixed 32/64 brand names, be sure to check that the CPU version in that computer is 64 bit if you are looking for 64 bit CPU. IOW, the general brand name is not enough in many cases.
**And just to be clear 2: you
technically can run 64 bit programs on 32 bit OSs under
very special cases. One case being using 32 bit mame to run a 64 bit arcade game on an emulated 64 bit CPU. However in any case, it's VERY slow, you need an emulator pretending to be the 64 bit CPU and/or 64 bit OS, and not usable. So even though it's possible to "run", it's not possible to use, thus the simplification that you can't run 64 bit programs in 32 bit OSs.
Sorry for my

at the end.