私はこの番号を16進数で持っています:
FFFFFFFFFFFF
保存する必要があるので、 double を使用しました
double a=0xffffffffffff;
しかし、私はそれを印刷する必要があり、方法がわかりません。%f
, %d
,を使用するたびに%x
、その値が出力されません。印刷するだけですffffffffffff
。私のコード:
int main()
{
double a=0xffffffffffff;
printf("%x\n",a);
printf("%d\n",a);
printf("%X\n",a);
printf("%f\n",a);
return 0;
}
唯一の真の値は%f
; です。これは、16 進数の 10 進数値を返します — 次のように返します。
ffffffe0
-32
FFFFFFE0
281474976710655.000000
これで、文字列にもFFFFFFFFFFFFがあり、両方を比較する必要があるため、比較するためにその16進数から文字列に変更する必要があります。それができなければprintf
、どちらもうまくいきませんsprintf
。