1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| function InsertString(t, c, n) { var r = []; for (var i = 0; i * 2 < t.length; i++) { r.push(t.substr(i * 2, n)); } return r.join(c); }
function FillString(t, c, n, b) { if ((t === "") || (c.length != 1) || (n <= t.length)) { return t; } var l = t.length; for (var i = 0; i < n - l; i++) { if (b === true) { t = c + t; } else { t += c; } } return t; }
function HexToSingle(t) { t = t.replace(/\s+/g, ""); if (t === "") { return ""; } if (t == "00000000") { return "0"; } if ((t.length > 8) || (isNaN(parseInt(t, 16)))) { return "Error"; } if (t.length < 8) { t = FillString(t, "0", 8, true); } t = parseInt(t, 16).toString(2); t = FillString(t, "0", 32, true); var s = t.substring(0, 1); var e = t.substring(1, 9); var m = t.substring(9); e = parseInt(e, 2) - 127; m = "1" + m; if (e >= 0) { m = m.substr(0, e + 1) + "." + m.substring(e + 1); } else { m = "0." + FillString(m, "0", m.length - e - 1, true); } if (m.indexOf(".") == -1) { m = m + ".0"; } var a = m.split("."); var mi = parseInt(a[0], 2); var mf = 0; for (var i = 0; i < a[1].length; i++) { mf += parseFloat(a[1].charAt(i)) * Math.pow(2, -(i + 1)); } m = parseInt(mi) + parseFloat(mf); if (s == 1) { m = 0 - m; } return m; }
function SingleToHex(t) { if (t === "") { return ""; } t = parseFloat(t); if (isNaN(t) === true) { return "Error"; } if (t === 0) { return "00000000"; } var s, e, m; if (t > 0) { s = 0; } else { s = 1; t = 0 - t; } m = t.toString(2); if (m >= 1) { if (m.indexOf(".") == -1) { m = m + ".0"; } e = m.indexOf(".") - 1; } else { e = 1 - m.indexOf("1"); } if (e >= 0) { m = m.replace(".", ""); } else { m = m.substring(m.indexOf("1")); } if (m.length > 24) { m = m.substr(0, 24); } else { m = FillString(m, "0", 24, false); } m = m.substring(1); e = (e + 127).toString(2); e = FillString(e, "0", 8, true); var r = parseInt(s + e + m, 2).toString(16); r = FillString(r, "0", 8, true); return InsertString(r, " ", 2).toUpperCase(); }
|