From: "George P." <george.priv@gmail.com>
Subject: Re: Fun with C
Date: Sun, 17 Apr 2011 11:19:55 -0700 (PDT)
Date: 2011-04-17T11:19:55-07:00 [thread overview]
Message-ID: <73f68a26-bbd8-4102-a8ce-62851f7bfc5f@d12g2000vbz.googlegroups.com> (raw)
In-Reply-To: 4daa9411$0$7658$9b4e6d93@newsspool1.arcor-online.net
On Apr 17, 3:17 am, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
wrote:
> On 4/16/11 11:12 PM, Ludovic Brenta wrote:
>
> > "Nasser M. Abbasi"<n...@12000.org> writes:
> >> $ gcc -Wall t.c
> >> $ ./a.out
> >> R = 33554416
>
> > So R = 2**25 - 16, the correct answer is -16, so the actual result is
> > the correct one except for bit 24, which is 1 when it should be zero.
>
> > Out of curiosity, is this actual result a predictable consequence of the
> > language definition, or is it undefined behavior?
>
> Why, it is the same in Ada.
>
> with Ada.Text_IO; use Ada.Text_IO;
> with Ada.Unchecked_Conversion;
>
> procedure Conv is
>
> type UInt is mod 2**32;
> type Int is range -2**31 .. 2**31 -1;
>
> function To_UInt is new Ada.Unchecked_Conversion(Int, UInt);
> N: UInt := 128;
> I: Int := -2048;
> R : Int;
> begin
> R := Int(To_UInt(I) / N);
> Put_Line ("R =" & Int'Image(R));
> end;
Not exactly, here you have at least freedom and understanding what is
being cast to what. As I mentioned I have no problem C# giving
compile error, screeming - tell me exactly what to do here. BTW, it
defaults result to a long int, complaining about assigning it to int.
Not to mentioned that negative integer number may be larger then
unsigned. I am now looking at the rest the code to see where else
could be the same type of cr..p.
George
next prev parent reply other threads:[~2011-04-17 18:19 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-16 17:02 Fun with C George P.
2011-04-16 20:04 ` Nasser M. Abbasi
2011-04-16 21:12 ` Ludovic Brenta
2011-04-16 21:42 ` jimmaureenrogers
2011-04-17 7:17 ` Georg Bauhaus
2011-04-17 8:29 ` Martin
2011-04-17 18:19 ` George P. [this message]
2011-04-17 8:40 ` Georg Bauhaus
2011-04-18 1:04 ` Peter C. Chapin
2011-04-18 2:14 ` George P.
2011-04-16 22:03 ` George P.
2011-04-17 6:26 ` KK6GM
2011-04-17 6:59 ` Georg Bauhaus
2011-04-17 16:15 ` KK6GM
2011-04-17 19:35 ` Elias Salomão Helou Neto
2011-04-17 20:18 ` KK6GM
2011-04-18 19:47 ` Elias Salomão Helou Neto
2011-04-18 22:11 ` Peter C. Chapin
2011-04-17 22:26 ` Georg Bauhaus
2011-04-18 19:12 ` Elias Salomão Helou Neto
2011-04-18 20:56 ` KK6GM
2011-04-18 21:01 ` Georg Bauhaus
2011-04-18 21:20 ` Nasser M. Abbasi
2011-04-19 2:43 ` George P.
2011-04-19 18:05 ` Vinzent Hoefler
2011-04-19 19:34 ` George P.
2011-04-19 20:08 ` Georg Bauhaus
2011-04-19 1:10 ` Elias Salomão Helou Neto
2011-04-19 14:28 ` Georg Bauhaus
2011-04-19 17:40 ` Jeffrey Carter
2011-04-21 14:52 ` Elias Salomão Helou Neto
2011-04-21 18:58 ` Georg Bauhaus
2011-04-21 19:27 ` Hyman Rosen
2011-04-28 5:13 ` David Thompson
2011-04-28 13:41 ` Hyman Rosen
2011-05-05 8:39 ` David Thompson
2011-04-25 11:06 ` Paul Colin Gloster
2011-04-25 11:00 ` Georg Bauhaus
2011-04-25 12:12 ` Martin
2011-04-25 18:39 ` Paul Colin Gloster
2011-05-08 23:41 ` wilso
2011-05-20 10:41 ` Yannick Duchêne (Hibou57)
2011-05-20 16:04 ` Yannick Duchêne (Hibou57)
2011-04-18 0:12 ` George P.
2011-04-18 19:24 ` Elias Salomão Helou Neto
2011-04-19 1:22 ` George P.
2011-04-19 2:06 ` Elias Salomão Helou Neto
2011-04-19 2:37 ` Bill Findlay
2011-04-19 3:00 ` George P.
2011-04-17 19:19 ` Elias Salomão Helou Neto
2011-04-17 23:26 ` Gautier write-only
2011-04-17 23:43 ` Nasser M. Abbasi
2011-04-18 19:16 ` Elias Salomão Helou Neto
2011-04-18 23:10 ` Randy Brukardt
2011-04-19 1:36 ` Elias Salomão Helou Neto
2011-04-20 23:14 ` Randy Brukardt
2011-04-21 16:19 ` Elias Salomão Helou Neto
2011-04-21 17:36 ` Dmitry A. Kazakov
2011-04-21 17:43 ` Hyman Rosen
2011-04-21 19:44 ` Dmitry A. Kazakov
2011-04-22 6:16 ` Elias Salomão Helou Neto
2011-04-22 9:21 ` Dmitry A. Kazakov
2011-04-22 13:18 ` Hyman Rosen
2011-04-22 15:17 ` Dmitry A. Kazakov
2011-04-23 2:08 ` Elias Salomão Helou Neto
2011-04-23 7:23 ` Dmitry A. Kazakov
2011-04-23 9:42 ` Georg Bauhaus
2011-04-23 10:23 ` Dmitry A. Kazakov
2011-04-23 18:37 ` Elias Salomão Helou Neto
2011-04-23 21:36 ` Dmitry A. Kazakov
2011-04-24 11:27 ` Peter C. Chapin
2011-04-24 13:53 ` Dmitry A. Kazakov
2011-04-24 19:07 ` Nasser M. Abbasi
2011-04-24 19:46 ` Dmitry A. Kazakov
2011-04-24 21:20 ` Nasser M. Abbasi
2011-04-24 22:33 ` Elias Salomão Helou Neto
2011-04-25 7:09 ` Dmitry A. Kazakov
2011-04-25 20:46 ` Maciej Sobczak
2011-04-25 21:19 ` George P.
2011-04-26 6:18 ` Dmitry A. Kazakov
2011-04-26 6:58 ` Nasser M. Abbasi
2011-04-26 8:39 ` Dmitry A. Kazakov
2011-04-26 20:57 ` Maciej Sobczak
2011-04-27 8:00 ` Dmitry A. Kazakov
2011-04-27 8:19 ` Georg Bauhaus
2011-04-27 9:32 ` Dmitry A. Kazakov
2011-04-28 7:02 ` Maciej Sobczak
2011-04-28 7:41 ` Dmitry A. Kazakov
2011-04-28 10:24 ` Peter C. Chapin
2011-04-28 13:56 ` Dmitry A. Kazakov
2011-05-03 1:19 ` Nasser M. Abbasi
2011-05-03 6:05 ` J-P. Rosen
2011-05-03 6:15 ` Ludovic Brenta
2011-05-03 7:43 ` Dmitry A. Kazakov
2011-05-03 15:34 ` Bill Findlay
2011-05-03 7:53 ` Georg Bauhaus
2011-05-03 9:29 ` Simon Wright
2011-04-24 22:23 ` Elias Salomão Helou Neto
2011-04-25 7:10 ` Dmitry A. Kazakov
2011-04-24 20:37 ` Georg Bauhaus
2011-04-23 15:23 ` George P.
2011-04-23 17:28 ` Nasser M. Abbasi
2011-04-23 17:52 ` Dmitry A. Kazakov
2011-04-23 18:11 ` Nasser M. Abbasi
2011-04-23 20:47 ` George P.
2011-04-24 11:36 ` Peter C. Chapin
2011-04-25 11:43 ` Paul Colin Gloster
2011-04-23 16:56 ` Nasser M. Abbasi
2011-04-23 18:45 ` Elias Salomão Helou Neto
2011-04-22 12:15 ` J-P. Rosen
2011-04-22 14:56 ` Niklas Holsti
2011-04-21 23:29 ` Randy Brukardt
2011-04-22 6:29 ` Elias Salomão Helou Neto
2011-04-25 11:22 ` Paul Colin Gloster
2011-04-18 19:13 ` Elias Salomão Helou Neto
2011-04-20 5:11 ` J-P. Rosen
2011-04-20 15:45 ` KK6GM
2011-04-20 19:04 ` Vinzent Hoefler
2011-04-20 21:09 ` Georg Bauhaus
2011-04-20 22:52 ` Vinzent Hoefler
2011-04-21 14:18 ` Elias Salomão Helou Neto
2011-04-21 16:22 ` Vinzent Hoefler
2011-04-21 19:25 ` John B. Matthews
2011-04-23 23:07 ` Gerd
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox