Perhaps I’m missing something, but the subdividing of SafeCoin appears like a real hassle to me. From the whitepaper:

“This format allows the tokens to be split into 2^248 parts if required. The splitting process will only allow the token (or subdivided token) to be bisected, so e.g. quartering a token would need to be done in 2 steps.”

So 0,5 SafeCoin is one subdivision, 0,25 are two subdivisions, 0,125 three, 0,0625 four, 0,03125 five, 0,015625 six, 0,0078125 seven, 0,00390625 eight, etc.

How would you get 0,30 SafeCoin? 0,25 is two subdivisions, we need to add 0,05 to that to get 0,30. Adding a fifth subdivion plus a sixth gets us to 0,046875. If we add the eighth subdivision to that, we get 0,046875 + 0,00390625 = 0,05078125. That’s just too much, so we need to scratch the eighth subdivision and subdivide even further to add a smaller number.

Is there some computational trick to let a computer calculate and manage all the subdivided SafeCoins very quickly?