- #1
jobyts
- 227
- 64
let's say a/b = a/(b'+c)
where b = b'+c.
I need to separate the RHS into a/b' + something. What's that something?
where b = b'+c.
I need to separate the RHS into a/b' + something. What's that something?
jobyts said:let's say a/b = a/(b'+c)
where b = b'+c.
I need to separate the RHS into a/b' + something. What's that something?
jobyts said:I need to convert x (ranging between 0 - 1,000,000) to y (ranging between 0 - (2^32)-1).
so y = (x * 2^32)/1M => (x << 32)/ 1M
We, the software guys have no problem doing it. But the microcode group says they don't have division operation.
I was trying to provide a solution by converting (x << 32)/ 1M to (x <<32) / ((2^20) + a)
(2^20 is the closest approximation to 1M)
I need to measure the error I'm introducing if I assume a=0.
If possible, I want to come up with a calculation as
(x<<32) /((2^20) + a) => (x << 12) + b.
What is b?
berkeman said:Do they have a multiply? Just multiply x * 4295
Will that work?
jobyts said:They have multiply operation for integers. Is it possible to make the approximation independent of x? We can use if-then-else.
berkeman said:Not sure what you mean by approximation. That multiplicative factor is pretty exact for doing the scaling that you asked about. Nice integer multiplication...
PARI/GP >[B]{
K=2^32-1;
T=1000000;
m=K/T;
for(i=0,20,
n=T*truncate(m*2^i)>>i;
print(i" "K-n))}[/B]
0 967295
1 467295
2 217295
3 92295
4 29795
5 29795
6 14170
7 6358
8 2452
9 499
10 499
11 10
12 10
13 10
14 10
15 10
16 10
17 3
18 3
19 1
20 1
PARI/GP > [B]truncate(m*2^19)[/B]
%2 = 2251799813
PARI/GP > [B]#binary(truncate(m*2^19)*1000000)[/B]
%3 = 51
The separate RHS of a/b refers to the value on the right side of the division symbol ("/"). It is the result of dividing a by b.
Yes, b' and c can be any real numbers. It does not matter if they are integers or decimals.
To find the separate RHS of a/b when b = b' + c, you can use the formula: a / (b' + c). Simply substitute the values of a, b', and c into the formula and solve for the separate RHS.
If b' and c are both negative, the result of dividing a by (b' + c) will still be positive. This is because a negative number divided by a negative number results in a positive number.
Knowing the separate RHS of a/b is important because it allows you to understand the relationship between the numerator (a) and denominator (b) in a division problem. It also helps in simplifying fractions and solving equations involving fractions.