我如何在 javascript 中随机生成一个二进制数?
how do i randomly generate a binary number in javascript?
我正在制作一个简单的程序,我在其中进行数字系统转换测验,但我不知道如何在 Javascript 中生成二进制数。
用户选择 he/she 喜欢的转换类型。 (例如:二进制到十进制,十进制到十六进制等)
它还询问用户想要多少问题,并在单击“进行测验”按钮后继续生成问题。
这是我的程序的样子:
image
它仍然是一个非常粗略的草稿,所以看起来非常不错哈哈
此函数将return输出介于指定为输入参数的最小和最大数字之间的随机二进制数。
function randomBinary(min, max) {
return Math.floor(min + Math.random() * (max + 1 - min)).toString(2);
}
// test examples
console.log(randomBinary(0,200000));
console.log(randomBinary(100,500));
console.log(randomBinary(0,300000));
您可以使用 parseInt
函数并传递一个基数:
parseInt('101010', 2); // 42
parseInt('101010', 16); //1052688
parseInt('101010', 10); // 101010
要将任何数字转换为不同的基数,您可以使用 toString(radix)
(42).toString(2); // '101010'
(1052688).toString(16); // '101010'
(101010).toString(10); // '101010'
如果输入来自字段,请确保在使用 .toString(radix)
之前通过 parseInt
将其值转换为数字
您可以使用前缀为“0b”的二进制计算。你的二进制是字符串,但如果你想要十进制值,你只需使用 Number(binary) 类型转换。
function randomDigit() {
return Math.floor(Math.random() * Math.floor(2));
}
function generateRandomBinary(binaryLength) {
let binary = "0b";
for(let i = 0; i < binaryLength; ++i) {
binary += randomDigit();
}
return binary;
}
const b = generateRandomBinary(6);
console.log(b); // random binary number as a string ex: 0b101100
console.log(Number(b)); // decimal value of this random binary number ex: 44
您也可以使用前缀“0x”代替十六进制的“0b”。
我正在制作一个简单的程序,我在其中进行数字系统转换测验,但我不知道如何在 Javascript 中生成二进制数。
用户选择 he/she 喜欢的转换类型。 (例如:二进制到十进制,十进制到十六进制等) 它还询问用户想要多少问题,并在单击“进行测验”按钮后继续生成问题。
这是我的程序的样子: image
它仍然是一个非常粗略的草稿,所以看起来非常不错哈哈
此函数将return输出介于指定为输入参数的最小和最大数字之间的随机二进制数。
function randomBinary(min, max) {
return Math.floor(min + Math.random() * (max + 1 - min)).toString(2);
}
// test examples
console.log(randomBinary(0,200000));
console.log(randomBinary(100,500));
console.log(randomBinary(0,300000));
您可以使用 parseInt
函数并传递一个基数:
parseInt('101010', 2); // 42
parseInt('101010', 16); //1052688
parseInt('101010', 10); // 101010
要将任何数字转换为不同的基数,您可以使用 toString(radix)
(42).toString(2); // '101010'
(1052688).toString(16); // '101010'
(101010).toString(10); // '101010'
如果输入来自字段,请确保在使用 .toString(radix)
parseInt
将其值转换为数字
您可以使用前缀为“0b”的二进制计算。你的二进制是字符串,但如果你想要十进制值,你只需使用 Number(binary) 类型转换。
function randomDigit() {
return Math.floor(Math.random() * Math.floor(2));
}
function generateRandomBinary(binaryLength) {
let binary = "0b";
for(let i = 0; i < binaryLength; ++i) {
binary += randomDigit();
}
return binary;
}
const b = generateRandomBinary(6);
console.log(b); // random binary number as a string ex: 0b101100
console.log(Number(b)); // decimal value of this random binary number ex: 44
您也可以使用前缀“0x”代替十六进制的“0b”。