The Bitcoin blockchain has 1 Satoshi as smallest token. By definition of Satoshi Nakamote 100,000,000 of those tokens are 1BTC. I remember that this division in 108 token has been discussed a lot of times in this forum. Did you try to search for this?
The maximum supply of slightly less than 21,000,000BTC, to be accurate max is 2,099,999,997,690,000sat, is directly correlated to the initial block reward of 50BTC and halving this value of 5,000,000,000sat by a binary bit-shift. There will be times when an odd number of Satoshis as block reward has to be halved and that's no issue with a bit-shift then.
So, you couldn't even compile a simple C++ test that I provided above. Yet you're discussing how Satoshi might have thought? Well, that's amusing.
For reference, Bitcoin full node client which was initially written by Satoshi (now called Bitcoin Core) use int64_t. So i fail to see what's amusing about @Cricktor statement.
But programmers tend to think a bit differently.
A bit differently as in a bit different way to choose arbitrary number?