You could implement floating point numbers or long integers manually, but it might be easier to just divide everything by 5000. After all, in real life, there's no way that reactors would be anywhere close to that cheap.

You might be able to do a base-10 floating point number, so long as you don't need to multiply or divide the price. You would have 3 bytes of number, and then a byte that represents the number of zeroes after it. That way, you will always be able to have at least 6 digits of precision. It would also make it easy to say "12.3456 billion," for example. When adding two numbers with the same exponent, you would just have to make sure that if the result goes over 2^23, that it is divided by 10 and the exponent is increased. Multiplication and division are obviously harder. If two numbers have a different exponent, divide the number part of the one with the smaller exponent by 10 the same number of times as the difference between the two exponents and set the exponent to be the same as the higher one's, then add them normally.

You might be able to do a base-10 floating point number, so long as you don't need to multiply or divide the price. You would have 3 bytes of number, and then a byte that represents the number of zeroes after it. That way, you will always be able to have at least 6 digits of precision. It would also make it easy to say "12.3456 billion," for example. When adding two numbers with the same exponent, you would just have to make sure that if the result goes over 2^23, that it is divided by 10 and the exponent is increased. Multiplication and division are obviously harder. If two numbers have a different exponent, divide the number part of the one with the smaller exponent by 10 the same number of times as the difference between the two exponents and set the exponent to be the same as the higher one's, then add them normally.