#Avoid floating point#
Avoid floating point
Actually I would advise the opposite of what @Xean said. I would completely remove all floating point from your program, including any calls to pow
and log
. I prefer your original loop to compute the number of digits.
The reason I don't like using floating point is that you might mysteriously get erroneous results due to roundoff errors. For example, on my computer, when I do this:
val = pow(9, 17);
I get this result, which is off by one:
16677181699666568 (actual value should be one higher)
For your program, you could either write a simple function to compute the powers of ten you need, or even hardcode the four values you need since you are only using powers 12, 13, 14, and 15.
#Avoid floating point#
Actually I would advise the opposite of what @Xean said. I would completely remove all floating point from your program, including any calls to pow
and log
. I prefer your original loop to compute the number of digits.
The reason I don't like using floating point is that you might mysteriously get erroneous results due to roundoff errors. For example, on my computer, when I do this:
val = pow(9, 17);
I get this result, which is off by one:
16677181699666568 (actual value should be one higher)
For your program, you could either write a simple function to compute the powers of ten you need, or even hardcode the four values you need since you are only using powers 12, 13, 14, and 15.
Avoid floating point
Actually I would advise the opposite of what @Xean said. I would completely remove all floating point from your program, including any calls to pow
and log
. I prefer your original loop to compute the number of digits.
The reason I don't like using floating point is that you might mysteriously get erroneous results due to roundoff errors. For example, on my computer, when I do this:
val = pow(9, 17);
I get this result, which is off by one:
16677181699666568 (actual value should be one higher)
For your program, you could either write a simple function to compute the powers of ten you need, or even hardcode the four values you need since you are only using powers 12, 13, 14, and 15.
#Avoid floating point#
Actually I would advise the opposite of what @Xean said. I would completely remove all floating point from your program, including any calls to pow
and log
. I prefer your original loop to compute the number of digits.
The reason I don't like using floating point is that you might mysteriously get erroneous results due to roundoff errors. For example, on my computer, when I do this:
val = pow(9, 17);
I get this result, which is off by one:
16677181699666568 (actual value should be one higher)
For your program, you could either write a simple function to compute the powers of ten you need, or even hardcode the four values you need since you are only using powers 12, 13, 14, and 15.