[H8-ML(1610)] unsigned->double型変換
From: Katsushi MATSUBAYASHI <matsu@xxxxxxxxxxxxxx>
Date: 2002年02月25日(月)12時28分29秒
松林です。こんにちは。

厳密には,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    
スレッド概略
[表示中](起点)
 ├[1611(1)]
 ├[1612(2)]
 ├[1613(3)]
 └[1614(4)]


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


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