For mainstream computing what are the practical advantages of 64-bit register size CPUs given the needs of today and the near future?
With 48bits you can address 256TiB of RAM, plenty of space to be useful


Its not about address space (*). 

In fact most 64-bit desktop processors have a 48-bit address bus. There is little point going larger than that, you are correct.


  It seems that generally 32bit numbers are already plenty large for most integer and decimal calculations


Many, but by no means all, and probably not most. Lots of calculations (even on 32-bit CPUs) end up using 64-bit calculations

The simplest example of this is the Y2k38 bug that will come to bite any system that uses a 32-bit Unix timestamp within the next 20 years.

Many floating point numbers are double precision (64-bit) because a single precision float gives very limited range.

64-bit processors can also still perform 32-bit calculations, and in fact having 64-bit caches allows twice as many 32-bit values to be stored in cache potentially speeding up the performance by reduction of memory operations (cache misses)

Modern 64-bit processors supporting advanced SIMD-style instructions can also perform multiple 32-bit operations simultaneously, so even 32-bit calculations can benefit.


  So why did processor designers chose to make the jump to 64bit so soon?


Where the 64-bit comes in is the data bus. We tend to like working in power of two multiples of our base value - in computers this is typically an 8-bit byte. So powers of two would be 8-bit (1 x 8bit), 16-bit (2 x 8bit), 32-bit (4 x 8bit) as you expect. The next logical step up therefore is 64-bit (8 x 8bit).

48-bit data buses would be a non-power-of-two number of bytes, which makes addressing operations more interesting as the data ceases to be aligned on nice power of two multiple boundaries. It's not impossible to do, its just fairly uncommon.



(*) Well, it is a bit.