comp.lang.ada
 help / color / mirror / Atom feed
From: <adaworks@sbcglobal.net>
Subject: Re: What about big integers in Ada 2005?
Date: Tue, 04 Oct 2005 18:56:20 GMT
Date: 2005-10-04T18:56:20+00:00	[thread overview]
Message-ID: <ofA0f.9445$6e1.2100@newssvr14.news.prodigy.com> (raw)
In-Reply-To: wccr7b1clr7.fsf@shell01.TheWorld.com


"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wccr7b1clr7.fsf@shell01.TheWorld.com...
> <adaworks@sbcglobal.net> writes:
>
> > BCD, and its cousins, including packed decimal, are used widely in the
> > business data processing world.   Files are stored in these formats. At
> > present, it is rather a nuisance to try to use Ada for reading these files.
> > Not impossible, but not convenient either.
>
> But Ada _does_ support packed decimal -- see F.1(2).
>
> By the way, what's the difference between packed decimal and BCD
> -- I thought they were the same thing.  (...shows how much I know
> about business data processing)
>
BCD was originally a six bit (where 7 was a parity bit) representation.  With
the advent of the byte on the IBM System 360, BCD became Extended Binary
Coded Decimal Interchange Code (EBCDIC).

In COBOL for the 360, we had several Picture clauses available.

     05 Item-1       PICTURE   XXX .            which would be represented by
EBCDIC
     05 Number     PICTURE   S99999.         which would also be EBCDIC
     05 Hnumber   PICTURE   S99999 Usage Comp-3. which would be packed

decimal.

COMP-3 represented the numeric PICTURE by using a half-byte (nibble) for each 9
in the picture and a nibble for the sign.   In the example shown, Hnumber would
occupy
only three bytes where Number would occupy five bytes.   In both cases, the
high-order
nibble is used for the sign.

There are actually some additional formats available including USAGE
COMPUTATIONAL
which is the same as representing a value in pure binary within the size of a
word.

I could write for a couple of hours on this topic, but I think this gets the
gist of the issue.

The central problem is that business data processing people use all of these
formats
at one time or another.

Richard Riehle





  reply	other threads:[~2005-10-04 18:56 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-15 17:06 What about big integers in Ada 2005? jtg
2005-09-15 17:26 ` Pascal Obry
2005-09-15 17:30   ` Martin Dowie
2005-09-15 17:26 ` Martin Krischik
2005-09-15 19:37   ` Martin Dowie
2005-09-15 21:08     ` Larry Kilgallen
2005-09-15 20:33   ` jtg
2005-09-15 21:10     ` Larry Kilgallen
2005-09-18  0:46   ` adaworks
2005-09-30 17:41     ` Robert A Duff
2005-09-30 20:18       ` Jeffrey R. Carter
2005-10-02  0:27       ` adaworks
     [not found]         ` <imsuj1h8vevg4un71rmh0nc41pnee5ihjl@4ax.com>
2005-10-02 10:33           ` Martin Krischik
2005-10-02 16:20             ` adaworks
2005-10-04  5:24           ` adaworks
2005-10-04  7:22             ` tmoran
2005-10-04  8:25             ` Dmitry A. Kazakov
2005-10-04 11:57               ` Simon Clubley
2005-10-04 16:10                 ` Robert A Duff
2005-10-04 17:24                   ` Simon Clubley
2005-10-04 19:44                     ` Robert A Duff
2005-10-04 13:46               ` adaworks
2005-10-04 16:38                 ` Robert A Duff
2005-10-04 16:52                   ` Martin Dowie
2005-10-04 17:16                     ` Robert A Duff
2005-10-04 13:50               ` adaworks
2005-10-04 14:59                 ` Larry Kilgallen
2005-10-04 16:03                 ` Robert A Duff
2005-10-04 18:56                   ` adaworks [this message]
2005-10-10  5:36                     ` Dave Thompson
2005-10-14  0:31                       ` adaworks
2005-10-06 14:21             ` Adrian Hoe
2005-10-07  6:48               ` Martin Krischik
2005-10-02  0:48   ` Brian May
2005-10-02 10:28     ` Martin Krischik
2005-10-02 10:52       ` Brian May
2005-10-02 15:12       ` Simon Wright
2005-10-02 17:11         ` Martin Dowie
2005-09-16 14:33 ` gautier_niouzes
2005-09-17  3:43   ` Craig Carey <research@ijs.co.nz>
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox