Rounding decimals to ruler scale (log, pow math?)

  • Context: Undergrad 
  • Thread starter Thread starter 1plus1is10
  • Start date Start date
  • Tags Tags
    Log Scale
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
1plus1is10
Messages
51
Reaction score
0
I have data (all less than 1) and I need to round down to the nearest 1/2, 1/4, 1/8, 1/16, and 1/32.
I have no idea how to do this mathematically, but I'm guessing I use log or pow functions.

For example:
0.81 = 0.5 or 1/2
0.33 = 0.25 or 1/4
0.18 = 0.125 or 1/8

Any help would be appreciated.
Thanks
 
Physics news on Phys.org
1plus1is10 said:
I have data (all less than 1) and I need to round down to the nearest 1/2, 1/4, 1/8, 1/16, and 1/32.
I have no idea how to do this mathematically, but I'm guessing I use log or pow functions.

For example:
0.81 = 0.5 or 1/2
0.33 = 0.25 or 1/4
0.18 = 0.125 or 1/8

Any help would be appreciated.
Thanks
Are you looking for the mathematical functions and symbols to use, or for an algorithmic solution?
 
1plus1is10 said:
I have data (all less than 1) and I need to round down to the nearest 1/2, 1/4, 1/8, 1/16, and 1/32.
What does this mean?
You can round down to the nearest 1/2 OR to the nearest 1/4 etc. You can't round to the nearest 1/16 AND 1/32, for example.
 
Sorry for not knowing how to phrase my question.
In the end, I figured it out myself after discovering that pow(0.5, x); gives fractions of the power of 2.

As for my data:
On a calculator, round up the result of: ln(x)/ln(0.5)
And then do a (0.5^y) exponent: 0.5^rounded_UP_result

In code, it is:
pow(0.5, ceil(log(x)/log(0.5)));

Thanks anyway.