comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: How do you bitwise operations in Ada '83 and '95
Date: Sat, 22 Jul 2006 10:32:19 +0200
Date: 2006-07-22T10:32:01+02:00	[thread overview]
Message-ID: <130aai4of5k0s.1175ed13axp2v.dlg@40tude.net> (raw)
In-Reply-To: m2fyguhjbm.fsf@grendel.local

On Fri, 21 Jul 2006 20:03:09 +0100, Simon Wright wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> It depends on endianness. Provided that storage elements are octets
>> on both machines, which assumption could be wrong, 128 shifted left
>> might yield 0, 256 or even 64 (what is "left"?).
> 
> You might as well argue that the C operator<< could produce 64 or 256.

I can't tell for C. Does ANSI C standard require (x<<1) == (x*2)?

As for Ada 95, ARM certainly does not. This is why Shift_* is not portable.
Then Interfaces, where Shift_* is declared, does not refer to C, anyway.

>> When considering *any* thinkable architecture, it might be even
>> impossible to implement Shift_* at all. Let some crazy hardware
>> store numbers in only odd bits, reserving even ones for something
>> else (like a check-sum). On such imaginary hardware Shift_Left (*,
>> 1) wouldn't even yield a valid number! Actually "they operate on a
>> bit-by-bit basis" is quite hazy. What is bit? Which bits are
>> adjacent? How are they ordered? What does "left" mean? Which bits
>> are of the number? etc.
> 
> One would think the market for hardware like that would be pretty
> thin; not really a "thinkable" architecture. Certainly not
> interesting.

Ah, but the standard is silent about interesting vs. uninteresting bit
representations. Anyway, middle-endian machines still exist and produced.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2006-07-22  8:32 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9315684D-C216-4EDA-8852-0A6BD4C275B0@amado-alves.info>
2006-07-19 22:30 ` How do you bitwise operations in Ada '83 and '95 Marius Amado-Alves
2006-07-20  7:40   ` Georg Bauhaus
2006-07-20  9:29     ` Colin Paul Gloster
2006-07-20 12:31       ` Georg Bauhaus
2006-07-20 13:08         ` Colin Paul Gloster
2006-07-20 13:29           ` Marius Amado-Alves
2006-07-20 13:49           ` Georg Bauhaus
2006-07-21  5:23             ` Colin Paul Gloster
2006-07-21  8:00               ` Georg Bauhaus
2006-07-20  9:03   ` Stephen Leake
2006-07-20  9:38     ` Marius Amado-Alves
2006-07-21  9:53       ` Stephen Leake
2006-07-20 11:31     ` Dmitry A. Kazakov
2006-07-20 13:18       ` Marius Amado-Alves
2006-07-21  9:58       ` Stephen Leake
2006-07-21 12:09         ` Dmitry A. Kazakov
2006-07-21 19:03           ` Simon Wright
2006-07-22  8:32             ` Dmitry A. Kazakov [this message]
2006-07-22  8:57               ` Simon Wright
2006-07-22 10:52               ` Georg Bauhaus
2006-07-22 13:31                 ` Dmitry A. Kazakov
     [not found] <CD6E3BB8-52D2-4EED-A790-0184FE56A99A@amado-alves.info>
2006-07-20 20:41 ` Marius Amado-Alves
2006-07-20 23:13   ` Randy Brukardt
2006-07-21  5:38     ` Marius Amado-Alves
2006-07-21 22:09       ` Randy Brukardt
     [not found] <BFF12262-F906-4F9A-B867-D0373609F038@amado-alves.info>
2006-07-20 16:40 ` Marius Amado-Alves
2006-07-20  9:39 Fwd: " Marius Amado-Alves
2006-07-20 17:54 ` tmoran
2006-07-20 18:30   ` Marius Amado-Alves
2006-07-20 19:36     ` tmoran
2006-07-20 22:09       ` Simon Wright
2006-07-21 10:07         ` Stephen Leake
2006-07-21 19:09           ` Simon Wright
2006-07-21 19:45             ` tmoran
2006-07-23 15:59             ` Stephen Leake
2006-07-24  6:08               ` Simon Wright
     [not found] <1153244316.853254.291560@m79g2000cwm.googlegroups.com>
2006-07-18 18:45 ` Robert A Duff
2006-07-18 18:53 ` jimmaureenrogers
2006-07-18 19:22   ` Jeffrey R. Carter
2006-07-18 21:32     ` jimmaureenrogers
2006-07-19  0:40       ` Jeffrey R. Carter
2006-07-19  3:55         ` jimmaureenrogers
2006-07-19  4:37           ` Jeffrey R. Carter
2006-07-19 13:05             ` jimmaureenrogers
2006-07-19 19:43               ` Jeffrey R. Carter
2006-07-19 14:41             ` Robert A Duff
     [not found]             ` <1153313832.389434.144930@s13g2000cwa.googlegroups.com>
2006-07-19 13:55               ` Georg Bauhaus
2006-07-19 14:20               ` Robert A Duff
2006-07-19 19:30               ` Jeffrey R. Carter
2006-07-18 19:21 ` Jeffrey R. Carter
2006-07-19  3:01 ` tmoran
replies disabled

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