How does the halving work when the number gets really small?

How does the halving work when the number gets really small?

Eventually the reward will go from 0.00000001 BTC to zero and no more bitcoins will be created.

The block reward calculation is done as a right bitwise shift of a 64-bit signed integer, which means it is divided by two and rounded down. The integer is equal to the value in BTC * 100,000,000 since internally in the reference client software, all Bitcoin balances and values are stored as unsigned integers.

With an initial block reward of 50 BTC, it will take many 4-year periods for the block reward to reach zero.