你的写法“var i=10110;”是错误的,这样写是十进制数的表示方法。要在javascript中表示二进制数只能用字符串,要不然也不需要转换了。下面是完整的函数以及演示,保存为网页并打开看效果。可用windows带的计算器验证。
<script type="text/javascript">
var bin = "11010100001011";
function bin2dec(theBin)
{
var result = 0;
for (var i = 0; i < theBin.length; i ++)
result = (result << 1) + parseInt(theBin.charAt(i));
return result;
}
alert(bin2dec(bin));
</script>
<script type="text/javascript">
var bin = "11010100001011";
function bin2dec(theBin)
{
var result = 0;
for (var i = 0; i < theBin.length; i ++)
result = (result << 1) + parseInt(theBin.charAt(i));
return result;
}
alert(bin2dec(bin));
</script>
解决方案 »
- easyui-combobox
- 看看谁能翻译这段代码
- 帮忙正则表达式逆序环视的问题
- JavaScript怎么通过浏览器判断操作系统,如“2000.3、XP”等。
- 关于typeof的问题
- window.open 打开页面 同时执行新页面中的函数
- TO:Amwpfiqvy能否再请教一个问题?
- 如何用js提交表单(表单是用<html:form>标签写的)?
- javascript中怎么扑获异常,不要弹出错误提示?
- 如何在避免修改客户端ie的安全性条件下,调用ActiveXObject("Excel.sheet")或ActiveXObject("Excel.Application")?
- 这样写不对吗
- 如何得到光标 并控制光标形状
var j=praseInt(i,2)alert(j.toString(2))//显示2进制
alert(j.toString(10))//显示10进制
alert(j.toString(16))//显示16进制
alert(parseInt(10110,2));
</script>