Rob*_*cha 29 javascript binary
根据我的理解,二进制数系统使用两个数字的集合,0和1来执行计算.
为什么:
console.log(parseInt("11", 2));回来3而不是00001011?
http://www.binaryhexconverter.com/decimal-to-binary-converter
Wal*_*anG 84
使用toString()而不是parseInt:
11..toString(2)
Run Code Online (Sandbox Code Playgroud)
var str = "11";
var bin = (+str).toString(2);
console.log(bin)
Run Code Online (Sandbox Code Playgroud)
根据JavaScript的文档:
以下示例均返回NaN:
parseInt("546", 2);// 数字对二进制表示无效
Rob*_*bok 31
parseInt(number, base)返回base中参数表示的数字的十进制值.numberbase
并且11是十进制数系统中的二进制等价3.
var a = {};
window.addEventListener('input', function(e){
a[e.target.name] = e.target.value;
console.clear();
console.log( parseInt(a.number, a.base) );
}, false);Run Code Online (Sandbox Code Playgroud)
<input name='number' placeholder='number' value='1010'>
<input name='base' placeholder='base' size=3 value='2'>Run Code Online (Sandbox Code Playgroud)
Jas*_*ust 13
如以下文档parseInt中所述:parseInt()函数解析字符串参数并返回指定基数的整数(数学系统中的基数).
因此,它正在做它应该做的事情:将二进制值转换为11整数值3.
如果您尝试将整数值转换11为二进制值,则需要使用该Number.toString方法:
console.log(11..toString(2)); // 1011
Run Code Online (Sandbox Code Playgroud)
.toString(2)应用于Number类型时有效。
255.toString(2) // syntax error
"255".toString(2); // 255
var n=255;
n.toString(2); // 11111111
// or in short
Number(255).toString(2) // 11111111
// or use two dots so that the compiler does
// mistake with the decimal place as in 250.x
255..toString(2) // 11111111
Run Code Online (Sandbox Code Playgroud)