在javascript中将十进制打印为二进制
我遇到了一些代码的问题,其中函数用于将十进制数从数组转换为二进制数。我正在使用在javascript中将十进制打印为二进制,javascript,arrays,binary,decimal,parseint,Javascript,Arrays,Binary,Decimal,Parseint,我遇到了一些代码的问题,其中函数用于将十进制数从数组转换为二进制数。我正在使用parseInt进行转换,但它只打印第一个数字,更常见的是打印NaN。我的目标是在html页面上打印所有十进制数的二进制等价物 这是我的密码: function decimal_table () { // real_array stores decimal numbers. const real_array = []; const binary_array = []; fo
parseInt
进行转换,但它只打印第一个数字,更常见的是打印NaN
。我的目标是在html页面上打印所有十进制数的二进制等价物
这是我的密码:
function decimal_table ()
{
// real_array stores decimal numbers.
const real_array = [];
const binary_array = [];
for (let i = 0; i <= 50; i++)
{
real_array.push(i);
document.getElementById("numbers").innerHTML = real_array.join(" ");
}
for (let b = 0; b <= 50; b++)
{
let calc = parseInt(real_array[b], 2);
binary_array.push(calc);
document.getElementById("binaries").innerHTML = binary_array.join(" ");
}
}
等等。你可以看看
parseInt(real_array[b], 2);
其中,您有一个数字,其中包含基数为2无法解析的数字
以2
为例,执行parseInt(2,2)
结果是NaN
,因为2
不是二进制数,因为二进制数只有0和1的数字
除此之外,这是错误的方向,二进制→ 十进制,但你需要十进制→ 二进制的
你需要以2为基数,以0为起点 您可以采用单个循环并将值添加到数组中 循环结束后,对元素进行赋值
函数十进制表(){
常量实数组=[];
常量二进制数组=[];
对于(设i=0;i可以对基数为2的整数值使用toString()
方法来获得二进制表示
然后只需填充值
constpad=(n,padding)=>(padding+n).substr(-padding.length)
for(设i=0;i<8;i++){
控制台日志(pad(i.),pad(i.toString(2),'0000');
}
.as控制台包装{top:0;最大高度:100%!重要;}
parseInt(real_array[b], 2);