二进制转换至十进制,JS里用for循环怎么写?

JavaScript09

二进制转换至十进制,JS里用for循环怎么写?,第1张

JvavScript二进制十进制转换

有从十进制转换的、有从二进制转换的、有从十六进制转换的,还有八进制的

<input type = "input" id="original" />

<input type = "button" onclick = change10() value = "从10进制转换" />

<input type = "button" onclick = change2() value = "从2进制转换" />

<input type = "button" onclick = change8() value = "从8进制转换" />

<input type = "button" onclick = change16() value = "从16进制转换" />

<script>

var oOriginal = document.getElementById("original")

function change10(){

var num = parseInt(oOriginal.value)

alert("2: " + num.toString(2) + "\n" + "8: " + num.toString(8) + "\n" + "10: " + num.toString(10) + "\n" + "16: " + num.toString(16))

}

function change2(){

var num = parseInt(oOriginal.value,2)

alert("2: " + num.toString(2) + "\n" + "8: " + num.toString(8) + "\n" + "10: " + num.toString(10) + "\n" + "16: " + num.toString(16))

}

function change8(){

var num = parseInt(oOriginal.value,8)

alert("2: " + num.toString(2) + "\n" + "8: " + num.toString(8) + "\n" + "10: " + num.toString(10) + "\n" + "16: " + num.toString(16))

}

function change16(){

var num = parseInt(oOriginal.value,16)

alert("2: " + num.toString(2) + "\n" + "8: " + num.toString(8) + "\n" + "10: " + num.toString(10) + "\n" + "16: " + num.toString(16))

}

</script>

如果是二进制,请输入如:1010

如果是16进制,请输入如:ff0000

即,不要加前缀

二进制转换成十进制的方法如下所示:

二进制转十进制通用公式为:abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)

解释:要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。

例如:二进制数1101.01转化成十进制

1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十

分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

注意:不是任何一个十进制小数都能转换成有限位的二进制数。

扩展资料:

十进制转二进制

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

十进制化二进制时所除的2就是它的基数。谈到它的原理,就不得不说说关于位权的概念。某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ” 。

位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。十进制数的百位、十位、个位、十分位的权分别是10的2次方、10的1次方、10的0次方,10的-1次方。二进制数就是2的n次幂。

参考资料来源:百度百科-十进制转二进制

二进制转十进制的方法如下:

二进制转为十进制的时候,先把二进制从高位(最左边的“1”)开始按从上到下的顺序写出 ,第一位就是最后的商 “2/2 =1余0 “,余数肯定是加零。其他位数如果有”1“(原来的余数),就先乘以”2“再加”1“。

二进制(binary),是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。发现者是莱布尼茨。数字电子电路中,逻辑门的实现直接应用了二进制,现代的计算机和依赖计算机的设备里都使用二进制。每个数字称为一个比特(Bit,Binary digit的缩写)。

十进制介绍:

十进制,是一种计数方法。600,3/5,-7.99……看着这些耳熟能详的数字,你有没有想太多呢?其实这都是全世界通用的十进制,即1.满十进一,满二十进二,以此类推……2.按权展开,第一位权为10^0,第二位10^1……以此类推,第N位10^(N-1),该数的数值等于每位位的数值*该位对应的权值之和。

人类算数采用十进制,可能跟人类有十根手指有关。亚里士多德称人类普遍使用十进制,只不过是绝大多数人生来就有10根手指这样一个解剖学事实的结果。实际上,在古代世界独立开发的有文字的记数体系中,除了巴比伦文明的楔形数字为60进制,玛雅数字为20进制外,几乎全部为十进制。只不过,这些十进制记数体系并不是按位的。