[問題] 將浮點數以HEX形式顯示

看板C_and_CPP作者 (風雲變色)時間11年前 (2014/07/31 00:06), 編輯推噓5(505)
留言10則, 8人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 如何將浮點數以HEX形式表現, 試過%x, 但結果不正確 餵入的資料(Input): 122.344 預期的正確結果(Expected Output): 例如 0x12C54666.... 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.67.53.38 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406736384.A.F7F.html

07/31 00:15, , 1F
union
07/31 00:15, 1F

07/31 00:18, , 2F
你說的HEX是指IEEE754 representation 還是16進制小數?
07/31 00:18, 2F

07/31 00:20, , 3F
前者
07/31 00:20, 3F

07/31 02:37, , 4F
float x=122.344; printf("%08x",*(unsigned*)&x);
07/31 02:37, 4F

07/31 10:25, , 5F
union 很好用的~~可以嘗試看看
07/31 10:25, 5F

07/31 15:25, , 6F
memcpy
07/31 15:25, 6F

08/01 02:02, , 7F
可以考慮 sprintf
08/01 02:02, 7F

08/01 10:59, , 8F
union很好用
08/01 10:59, 8F

08/05 14:49, , 9F
C 的話,printf/scanf 用 "%a" & "%A"
08/05 14:49, 9F

08/05 14:50, , 10F
C++,(ios_base::fixed | ios_base::scientific)
08/05 14:50, 10F
文章代碼(AID): #1JsHW0z_ (C_and_CPP)