请告知binary,decimal,hex互相转换的函数是什么?
谢谢
要完成此效果需要两个步骤
第一步:把如下代码加入到<head>区域中
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
binary_numbers = new Array("0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111");
function toBinary(High, Low) {
var hiHex = "ABCDEF";
if (Low < 10 ) {
LowNib = Low;
}
else {
LowNib = 10 + hiHex.indexOf(Low);
}
if (High < 10 ) {
HighNib = High;
}
else {
HighNib = 10 + hiHex.indexOf(High);
}
eight_bits = binary_numbers[HighNib] + " " + binary_numbers[LowNib];
return eight_bits;
}
function Dec2Hex(Decimal) {
var hexChars = "0123456789ABCDEF";
var a = Decimal % 16;
var b = (Decimal - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
L = hexChars.charAt(a);
H = hexChars.charAt(b);
return hex;
}
var symbols = " !\"#$%&()*+-./0123456789:;<=>?@";
function toAscii () {
var loAZ = "abcdefghijklmnopqrstuvwxyz";
symbols+= loAZ.toUpperCase();
symbols+= "[\\]^_`";
symbols+= loAZ;
symbols+= "{|}~";
var loc;
loc = symbols.indexOf(document.asciiform.Input.value);
if (loc >-1) {
Ascii_Decimal = 32 + loc;
return (32 + loc);
}
return(0); // If not in range 32-126 return ZERO
}
function getAscii(some_value) {
document.asciiform.toDec.value = toAscii();
document.asciiform.toHex.value = Dec2Hex(toAscii());
document.asciiform.binary.value = toBinary(H, L);
}
// End -->
</script>
第二步:把如下代码加入到<body>区域中
<center>
<form name="asciiform" onsubmit="return false;">
<table border=1><tr><td>
<center>
输入一个字符:
<input size=1 name=Input maxlength=1 onChange="getAscii(this.value)">
<p>
<input type=button value="显示" onClick="document.asciiform.toDec.value=toAscii()">
</center>
<p>
<input size=10 name=toDec onFocus="this.blur()">
ASCII码十进制输出<br>
<input size=10 name=toHex onFocus="this.blur()">
ASCII码十六进制输出<br>
<input size=10 name=binary onFocus="this.blur()">
ASCII码二进制输出
</td>
</tr>
</table>
</form>
</center>
<script>
function hexchange()
{
var hex,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
hex = dec.toString(16);
window.alert("该十进制数转成十六进制数为:"+ hex);
}
function octchange()
{
var oct,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
oct = dec.toString(8);
window.alert("该十进制数转成八进制数为:"+ oct);
}
function binchange()
{
var bin,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
bin = dec.toString(2);
window.alert("该十进制数转成二进制数为:"+ bin);
}
</script>
JScript数值数据类型
JScript 支持整数和浮点数。整数可以为正数、0 或者负数;浮点数可以包含小数点、也可以包含一个 "e"、或者同时包含这两项。这些数遵循数值表示的 IEEE 754 标准。最后,还有一些特殊的数值:
NaN,即不是一个数
正无穷
负无穷
正数 0
负数 0
整数可以以 10 、8 和 16 作为基数来表示。
八进制整数用一个前导 "0" 指明,并可以包含从 0 到 7 的数字。如果某个数字有一个前导 "0" 但是又包含数字 "8"和/或 "9",则该数字是一个十进制数。如果一个应该为八进制的数中包含了字母 "e" (或 "E") 将会产生一个错误。
十六进制("hex") 整数用前导 "0x" 指明,并且可以包含从 0 到 9 的数字以及从 A 到 F 的字符。字母 "e" 在十六进制记数法中是一个允许的数字,但并不是表示这是一个指数。字母 A 到 F 是作为单个的数字,用来表示以 10 为基数的 10 到 15 这些数。也就是说,0xF 等于 15,而 0x10 就等于 16。
八进制数和十六进制数可以是负数,但不能是小数。一个以单个 "0" 开头并包含一个小数点的数是一个十进制的浮点数;如果一个数以 "0x" 或 "00"开头并包含一个小数点,则该小数点右边的任何数都将被忽略。
一些示例:
.0001, 0.0001, 1e-4, 1.0e-4 // 四个浮点数,它们互等。
3.45e2 // 一个浮点数,等于 345。
42 // 一个整数。
0377 // 一个八进制整数,等于255。
00.0001 // 由于八进制数不能有小数部分,因此这个数等于 0。
0378 // 一个整数,等于 378。
0Xff // 一个十六进制整数,等于 255。
0x37CF // 一个十六进制整数,等于 14287。
0x3e7 // 一个十六进制整数,等于 999。
0x3.45e2 // 由于十六进制数不能有小数部分,因此这个数等于 3。