[H8-ML(1613)] Re: [H8-ML(1610)] unsigned->double型変換
From: "Masakatsu Higuchi" <zc4m-hgc@xxxxxxxxxxxxxxx>
Date: 2002年02月25日(月)14時08分17秒
ひぐちです。お世話になります。

ANSIか実装依存か、調べれば判るとは思いますが・・・すいません。
通常曖昧な記述を避けて

    y=-(double)x;

と書くべきかと思います。

ボーランドのコンパイラだったら -w でコンパイルすれば"ambiguous"だと
言ってくれないかな。

でわでわ。

----- Original Message -----
From: "Katsushi MATSUBAYASHI" <matsu@xxxxxxxxxxxxxx>
To: <h8@xxxxxxx>
Sent: Monday, February 25, 2002 12:28 PM
Subject: [H8-ML(1610)] unsigned->double型変換


> 松林です。こんにちは。
>
> 厳密には,H8の質問にならないかもしれませんが,
> 失礼ついでに,お願いいたします。
>
> 下のプログラムを秋月のCコンパイラ/H8マザーキットで,
> 実行するとyが正の数になってしまい,一晩悩みました。
> (もちろん,printf関数は,液晶表示関数に変えています。)
> windows上のターボcも同様でした。
> これは,ANCIの仕様でしょうか。
> y=-1.0*x;
> とすれば,yも負になってくれるんですが・・・。
>
> #include <stdio.h>
>
> main()
> {
>     unsigned x=10;
>     double y;
>     int z;
>     y=-x;
>     z=-x;
>     printf("%lf\n",y);
>     printf("%d",z);
> }
> /*実行結果
> 4294967286.000000
> -10
> */
>
> // Katsushi MATSUBAYASHI   matsu@xxxxxxxxxxxxxx
> // Associate Professor, Tokyo National College of Technology

スレッド概略
[1610(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]