松林です。こんにちは。 厳密には,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