作者yhn0tgb60 (呦厚厚)
看板C_and_CPP
標題[問題] 書上看到的例題 關於形態轉換
時間Sat Apr 4 22:24:54 2009
題目是
float a=3.14159;
int b=(?)a;
a=(?)b;
而最後 a 必須等於原本的3.14159
我完全無法理解 怎麼想都覺得 a 是 3
想請問大家 那兩個()裡的? 各該轉換為哪種形式 a 才會等於 3.14159
謝謝大家了 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.163.42
1F:→ VictorTom:目前想到的答案, 第一個?: int b= *((int*)&) a; 04/04 22:27
2F:→ VictorTom:第二個?: a= *((float*)&) b; 04/04 22:28
3F:推 Fenikso:b=(int&)a; a=(float&)b; 04/04 22:28
4F:→ VictorTom:另一組更直接: int b= (int)(& a); a= *(float*) b; 04/04 22:30
5F:→ VictorTom:不過上面那組遇到變數放在2G以上的位置就爛了, 雖然一般 04/04 22:31
6F:→ VictorTom:user的AP應該不會發生這個問題XD 04/04 22:31
7F:推 VictorTom:F大的答案好深奧Orz 04/04 22:38
8F:推 legnaleurc:reference...吧 04/04 22:40
9F:→ legnaleurc:簡單地說,不要讓slice發生就好 04/04 22:41
10F:推 fjm31714:這...實用嗎? 不過蠻好玩的就是了 04/05 01:03