Android 台灣中文網

標題: 10進位轉浮點程式網頁版 [打印本頁]

作者: zeemanliao    時間: 2014-2-24 17:26
標題: 10進位轉浮點程式網頁版
本帖最後由 zeemanliao 於 2014-2-24 17:31 編輯

先說明,這只是個小tool,不是教你怎麼修改

有時八門等查到的資料是顯示十進位
如1134993408
但其實他是浮點數
把1134993408轉回16進位變
43A6A000
再把43A6A000由IEEE 754轉為浮點數就變為
333.250.....
(上面的數字都是最近討論過的請爬文)

記得之前有人提供過apk的轉檔
我在這再提供html版的
下面的程式代碼大家可以copy起來
把它放到某個html的檔案
再用IE開啟,輸入數值再按轉換就會顯示浮點數
這個轉換用來做什麼的
可能大家要多爬一下文

如果不想自己copy代碼建檔
就自己下載附件,已進幫忙存好了
記得用IE或其他網頁瀏覽器開
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title></title>
  5.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  6.     <meta charset="utf-8">
  7. <input id="num" type="text" size=10>
  8. <input type="button" onclick="show();" value="轉換">
  9. <div id="showfloat"></div>
  10. <script>

  11. function show(){
  12.         var div = document.getElementById("showfloat");
  13.         div.innerHTML="";
  14.         var n = parseFloat(document.getElementById("num").value);
  15.         div.innerHTML=hex2float("0x"+n.toString(16));
  16. }

  17. function hex2float(num) {
  18.     var hex = num;
  19.     var sign = (num & 0x80000000) ? -1 : 1;
  20.     var exponent = ((num >> 23) & 0xff) - 127;
  21.     var mantissa = 1 + ((num & 0x7fffff) / 0x7fffff);
  22.     return (sign * mantissa * Math.pow(2, exponent)).toFixed(3)+"<br>"+hex.substr(2).toUpperCase();
  23. }

  24. </script>
  25. </head>
  26. <div id="text"></div>
  27. <body>
複製代碼



不知道附件怎麼刪
大家只要下載841 Byte那個就好

d.html

841 Bytes, 下載次數: 107, 下載積分: 碎鑽 -1 個

d.html

d.html

987 Bytes, 下載次數: 11, 下載積分: 碎鑽 -1 個


作者: Jeffantasy    時間: 2014-2-24 17:36
其實不用這麼辛苦,windows不是有內鍵小算盤嗎XD
至於手機的去play找一定有人寫好吧0.0
作者: zeemanliao    時間: 2014-2-24 18:27
Jeffantasy 發表於 2014-2-24 17:36
其實不用這麼辛苦,windows不是有內鍵小算盤嗎XD
至於手機的去play找一定有人寫好吧0.0 ...

小算盤要怎麼把1134993408算成333.250我真的不會按,請教一下
作者: ccr0315    時間: 2014-11-24 20:02
那逆算呢? 感謝




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1