# Which free software could acquire 48 bits color depth pictures from a scanner ?

Discussion in 'Scanners' started by Guilbert STABILO, Nov 16, 2008.

1. ### Ray FischerGuest

Not strictly true. Normalized floating point numbers actually do have
24 bits of fraction plus 8 bits of exponent plus 1 bit of sign. It's
done by inferring a leading one in the fraction that isn't actually
represented.
In practice chaining floating point operations while maintaining
precision is really hard. If it's possible. Integer math is
preferable almost always.

Ray Fischer, Nov 17, 2008

2. ### SteveGuest

Back in the day when I was a DoD engineer, I had my own Cyber 170
running NOS to play with. Of course, the laptop I'm using to write
this can run rings around that thing.

Steve

Steve, Nov 17, 2008

3. ### Ray FischerGuest

What "math processor"? "Deal with" in what way?

Your question makes a couple of incorrect assumptions.
1) That's there is a "math processor" that is different from the CPU.
2) That the processing needs to be related to a "math processor".

Ray Fischer, Nov 17, 2008
4. ### Ray FischerGuest

32 bits is still 32 bits whether it's foating point or fixed point or
integer.

You don't know what it means to maintain precision so I suggest that
you stop worrying about it and leave it to us computer professionals.

Ray Fischer, Nov 17, 2008
5. ### SteveGuest

Ok, but for unnormalized (denormalized, non-normalized, whatever you
want to name it) it's 23. I.e., they stole the sign bit from the
fraction, not the exponent.

The IEEE 754 floating point format only has 23 bits of fraction, not
24. It has 8 bits of exponent and 1 bit of sign. You can infer all
the bits you want but if they can't be "flipped" in a calculation then
they are not useful if you want to represent the full range of
available numbers.
Yup. As I said in my post you responded to, using floating point math
will often give different answers using even the same source code on a
different compiler. In theory, it's possible to carry only one extra
bit of significance through the calculations. In practice, not so
easy.

Steve

Steve, Nov 17, 2008
6. ### SteveGuest

Well, now it's completely obvious that you have no idea what you're
talking about. If you think it's possible to take 32 bit integer data
where the greatest values are higher than 2^24, convert it to 32 bit
floating point, do some calculations on it, then convert back to
integer and get the same results as if you had performed integer
calculations then you are sadly mistaken.

If you're a computer professional, I certainly hope I never come
across anything you've created.

Steve

Steve, Nov 17, 2008
7. ### SteveGuest

I should have said ^and always get the same results^ above. Because
I'm sure Mr. Fischer would come up with some special case where the
results would be the same.

Steve, Nov 17, 2008
8. ### J. ClarkeGuest

Computers "do math" in whatever way the programmer decides.

J. Clarke, Nov 17, 2008
9. ### J. ClarkeGuest

I note that you do not say "not since I got my doctorate". So you
didn't impress your graduate committed any better than you're
impressing us?
Perhaps it is not, so one must conclude that you do not have such a
degree.

J. Clarke, Nov 17, 2008
10. ### Ray FischerGuest

Sigh. You guys have very little idea how computers do math.

Ray Fischer, Nov 17, 2008
11. ### Ray FischerGuest

True, but FP numbers are almost always normalized.
Plus a leading 1 bit.
But IEEE floating point doesn't do the math in just 23 bits. It
actually does it at least 26 bits and then normalizes and rounds to
24 bits. The leading 1-bit is dropped and the remaining 23 bits of
fraction are stored in the result.

Ray Fischer, Nov 17, 2008
12. ### Ray FischerGuest

Except for 30 years as a professional software engineer and a BSCS and
an MSCS. And those three quarters of computer architecture courses
must have been worth something.
Strawman. I never wrote any such thing.
You have. I guess that it's running on your computer at this very
moment.

Ray Fischer, Nov 17, 2008
13. ### Ray FischerGuest

Didn't do a PhD. Stanford is very much oriented towards theoretical
computer science while I'm more interested in software engineering.
I stopped with my MSCS.
Or one can conclude that you're an idiot who makes incorrect
assumptions.

Ray Fischer, Nov 17, 2008
14. ### Eric StevensGuest

All I can say is that that wasn't my experience about 1980ish.

Eric Stevens

Eric Stevens, Nov 17, 2008
15. ### Eric StevensGuest

I am an engineer with all that that entails with an interest in
numerical computation. I encountered my first computer in 1960 and
have been working with them ever since. Its more than 40 years since I
wrote programs directly in machine code and probably 30 years since I
used assembler. From the outset I wrote programs in Fortran and I was
an early user of C .... . My programs worked which seems to make a
nonsense of your claim that I have very little idea of how computers
do math.

Eric Stevens

Eric Stevens, Nov 17, 2008
16. ### Eric StevensGuest

Why do you think I wrote that " ... an 8-bit floating point algorithm
to emulate an 80 bit APU is likely to incorporate an accumulation of
rounding off errors"?

Eric Stevens

Eric Stevens, Nov 17, 2008
17. ### Eric StevensGuest

Jeez! You must be young!

Don't you remember when you were able to buy maths coprocessors to
speed up up your PC? As you say, it is now built into the CPU but it
is still there.

See http://en.wikipedia.org/wiki/Intel_8087

http://en.wikipedia.org/wiki/Motorola_68881

Eric Stevens

Eric Stevens, Nov 17, 2008
18. ### Eric StevensGuest

Actually, I think they were both announced in 1981. I do remember that
Cromemco had 68000 based machines already available at the time of the
IBM announcement (August 81).

Eric Stevens

Eric Stevens, Nov 17, 2008
19. ### SteveGuest

That depends on the implementation. For instance, a PowerPC with an
Altivec may do FP math different than an Intel Xeon which may be
different than an old 80x86 with a math coprocessor which may be
different than....

You can run the same program on different hardware and get different
results.

Steve

Steve, Nov 18, 2008
20. ### SteveGuest

Apparently not.
You certainly implied it when you said "32 bits is still 32 bits
whether it's foating point or fixed point or integer." as a reponse to
me writing that just saying you're doing "32 bit math" is meaningless
unless you define the format.

32 bits is 32 bits only to someone who's worried about storage space,
network mandwidth, etc. To someone who's worried about doing math on
those bits, you MUST know what those bit represent. So just saying
that if "there's a 32 bit channel then the math is 32 bits" is
meaningless without defining what those 32 bits represent. It could
be integer, scaled integer, floating point, etc., all of which are
completely different to a real software engineer.
Ah, judging by the quality of some of the software out there, I
wouldn't doubt it.

Steve

Steve, Nov 18, 2008