將乙個double型(int型)格式化輸出為int型(double型)時發生了什麼?

時間 2021-05-11 23:26:22

1樓:冒泡

我這裡是這樣的:

[zq@mac ~/test/cpp_test]$ cat 1.cpp

#include

int main()

[zq@mac ~/test/cpp_test]$ g++ -o 1 1.cpp

1.cpp:17:

20: warning: format specifies type 'int' but the argument has type 'double' [-Wformat]

printf("%d\n", 1.0f

1 warning generated.

[zq@mac ~/test/cpp_test]$ ./1-443889088

[zq@mac ~/test/cpp_test]$ ./1-452146624

[zq@mac ~/test/cpp_test]$ ./1-299685312

[zq@mac ~/test/cpp_test]$ ./1-482411968

[zq@mac ~/test/cpp_test]$ ./1-456271296

[zq@mac ~/test/cpp_test]$ ./1-333264320

[zq@mac ~/test/cpp_test]$ ./1-474654144

[zq@mac ~/test/cpp_test]$

2樓:

本質上是浮點數的儲存方式導致的。詳細可以參見 https://zh.wikipedia.org/zh-cn/IEEE_754

double型別的-1.0 在記憶體中以二進位制儲存,具體數值和整數的-1完全不一樣。大概率不是0,等我有時間來寫個程式測試一下。

反過來用double型別去解讀int型別的資料,也會千奇百怪。

乙個函式返回int型指標,如何建立乙個指標指向這個函式?

首先我們有乙個 以乙個int 為引數返回乙個int 的函式 int func1 int p 然後弄個指標指向func1 int pf1 int 這就是題主的問題。深入一步,如果我們要做乙個以這個指向func1的指標做引數,返回指向func1的指標的函式 int func2 int pf1 int i...

請問我要怎麼擺脫乙個邊緣型 自戀型人格障礙者?

情緒賦能師丁丁 請把注意力放在讓自己轉變上,同時在這個轉變的過程裡要給予多些時間 耐心和愛。1 當我們覺得自己很痛苦時,需要改變的是我們自己。因為我們是自己人生的全程參與者,也從來都不是被動的承受者。當我們遇到問題時,試圖去改變造成我們痛苦的人 事 物,這樣對外在的 怪罪 是很容易的,但這會讓我們失...

如果用型月世界的乙個場景來代表你心中的型月,會是哪一幕呢?

Stranger 每個擁有自己故事的人在Ahnenerbe裡坐在一起聊著一些無關痛癢的話題,熱鬧而寧靜。在這裡沒有需要推進的故事,在這裡經歷過許多非日常的人們享受著日常的平靜,在這裡她們活得鮮明而平凡,在這個浪漫而閃閃發光的型月世界。 凌子典 很多場景都有人說過了,像是雪下的草珠,夕陽教室的公主,這...