Re: [問題] 查出C語言下某變數的真實記憶體位置內的值

看板ASM (組合語言)作者 (紫雁)時間17年前 (2007/05/20 21:53), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串2/2 (看更多)
嗯,你是想知道 float num=1.4789E-15; 在記憶體裡實際存放的值嗎? 那麼可以這麼做: cout << (int)num; 應該不必用到組語吧? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.109.146

05/20 22:24, , 1F
這樣不行啦,(int)只是純粹轉型,結果變0 -_-
05/20 22:24, 1F

05/20 22:25, , 2F
我希望能看到 bit0代表正負,bit1~8代表指數,9~31為分
05/20 22:25, 2F

05/20 22:27, , 3F
數,這些真正的記憶體內容2進位值
05/20 22:27, 3F

05/20 22:30, , 4F
printf("%x", (*(int*)(&num)));
05/20 22:30, 4F

05/20 23:13, , 5F
這樣是可以跑出值,可是這樣的資料型態我去換算
05/20 23:13, 5F

05/20 23:13, , 6F
怎麻都兜不太上,是我換算有問題嗎???
05/20 23:13, 6F

05/21 01:58, , 7F
不好意思,我沒有實際用過,現醜了 :P
05/21 01:58, 7F

05/21 20:43, , 8F
zstar 大大 謝謝 您這樣是正確的
05/21 20:43, 8F
文章代碼(AID): #16K5B8EJ (ASM)
文章代碼(AID): #16K5B8EJ (ASM)