[問題] 如何用2bytes表示浮點數(binary)?

看板C_and_CPP作者 (月)時間8年前 (2016/07/06 00:38), 編輯推噓3(307)
留言10則, 8人參與, 最新討論串1/1
大家好 有個問題想請教一下 因為我不太理解題目的意思,所以先照我知道的說 目的是要用兩個bytes去表示一個浮點數 2 bytes=16 bits 其中12 bits表示有號整數 4bits表示小數 -------------- 請問可以請看的懂的人幫忙解釋一下怎麼做的嗎? 還有如果有個浮點數-123.4567 要怎麼用這個格式寫到binary file呢? 使用的語言是C 感謝各位高手~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.71.112 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1467736739.A.B9C.html

07/06 00:45, , 1F
.4567 ~= .25 + .125 + .0625 = .0111(2)
07/06 00:45, 1F

07/06 02:06, , 2F
google IEEE754,換成你的case
07/06 02:06, 2F

07/06 03:42, , 3F
題目明顯是要用 struct + bit field 吧 ?
07/06 03:42, 3F

07/06 03:43, , 4F
struct FLT { short int m_int:12 ; short int m_flt:8};
07/06 03:43, 4F

07/06 03:44, , 5F
FLT var; fwrit(&var,1,sizeof(var),fout);
07/06 03:44, 5F

07/06 14:10, , 6F
半精度浮點數: sign(1bit)+exponent(5bits)+fraction(10bits)
07/06 14:10, 6F

07/06 16:31, , 7F
去看一下定點的東西吧...
07/06 16:31, 7F

07/06 21:16, , 8F
感謝各位!我再從這些關鍵字去查~
07/06 21:16, 8F

07/08 00:24, , 9F
先去把計概重唸(X
07/08 00:24, 9F

07/08 04:17, , 10F
都指定整數和小數的位數了,這怎麼會是浮點數
07/08 04:17, 10F
文章代碼(AID): #1NU-AZkS (C_and_CPP)