在本文中,我们将学习数值从十进制到二进制的转换。二进制是一种用 2 位数字(0 和 1)表示所有数值的数字系统。
给定一个十进制数 N。我们的任务是将数字的十进制表示形式转换为其等效的二进制表示形式。
示例 1:
Input : 7
Output : 111
Input : 10
Output : 1010
如果十进制数是10。
- 10 除以 2 的余数为零。因此,arr[0] = 0。
- 将 10 除以 2。新数字为 10/2 = 5。
- 5 除以 2 余数为 1。因此,arr[1] = 1。
- 将 5 除以 2。新数字为 5/2 = 2。
- 当 2 除以 2 时,余数为零。因此,arr[2] = 0。
- 将 2 除以 2。新数字为 2/2 = 1。
- 1 除以 2 余数为 1。因此,arr[3] = 1。
- 将 1 除以 2。新数字为 1/2 = 0。
- 由于数字变为 = 0。
- 以相反的顺序打印数组。因此,等效的二进制数是1010。
有多种方法可用于将十进制转换为二进制,如下所示:
- 使用无符号右移运算符 (>>>)
- 使用循环和字符串连接
- 使用 toString(2) 方法
- 使用数组和数学方法
我们将借助示例探索上述所有方法及其基本实现。
方法一:使用无符号右移运算符 (>>>)
将十进制转换为二进制的最简单和最基本的方法是使用无符号右移运算符将输入数字转换为无符号32位整数。我们使用带参数的 toString 方法 2指定输出应以 2 为基数,即二进制。
用法:
function decimalToBinary(N) {
return (N >>> 0).toString(2);
}
例子:在此示例中,我们使用above-explained 方法。
Javascript
function decimalToBinary(N) {
return (N >>> 0).toString(2);
}
let N = 10;
let binary = decimalToBinary(N);
console.log(
"The binary representation of given number is:- " + binary);
输出
The binary representation of given number is:- 1010
方法 2:使用循环和字符串连接
在这种方法中,我们使用循环和字符串连接
- 初始化一个空字符串,比如二进制。
- 运行 while 循环,直到十进制数,即 N 大于 0。
- 在循环内找到 N 除以 2 的余数并将其与二进制字符串连接起来。
- 在每次迭代中将数字 N 除以 2 后更新该数字,并对其使用下限函数。
用法:
while (N > 0) {
binary = (N % 2) + binary;
N = Math.floor(N / 2);
}
例子:在此示例中,我们使用上述方法。
Javascript
function decimalToBinary(N) {
let binary = '';
while (N > 0) {
binary = (N % 2) + binary;
N = Math.floor(N / 2);
}
return binary;
}
let N = 10;
let binary = decimalToBinary(N);
console.log(
"The binary representation of given number is:- " + binary);
输出
The binary representation of given number is:- 1010
方法 3:使用 toString(2) 方法
toString(2) 方法是一个内置的 JavaScript 方法,可用于数字对象,它将数值(十进制数)转换为其二进制表示形式的字符串。
用法:
num.toString(2)
例子:在此示例中,我们使用 toString(2) 方法将给定的数值转换为二进制。
Javascript
function decimalToBinary(val) {
return val.toString(2);
}
let num1 = 10;
let result = decimalToBinary(num1);
console.log("Binary representation:", result);
输出
Binary representation: 1010
方法 4:使用大批和数学方法
此方法使用数组来存储二进制数字,将十进制数转换为二进制数。它重复将数字除以 2 并将余数添加到数组的开头。然后通过连接数组元素获得二进制表示。
用法:
let arr = [];
for (; num1 > 0; num1 = Math.floor(num1 / 2)) {
arr.unshift(num1 % 2);
}
return arr.join("");
例子:在此示例中,我们使用above-explained 方法。
Javascript
function decimalToBinary(num1) {
if (num1 === 0) return "0";
let arr = [];
for (; num1 > 0; num1 = Math.floor(num1 / 2)) {
arr.unshift(num1 % 2);
}
return arr.join("");
}
let givenNumber = 10;
let result = decimalToBinary(givenNumber);
console.log("The binary representation is: " + result);
输出
The binary representation is: 1010
相关用法
- Javascript Date.UTC( )用法及代码示例
- Javascript Date.now()用法及代码示例
- Javascript Date.parse()用法及代码示例
- Javascript Date.prototype用法及代码示例
- Javascript DataView()用法及代码示例
- Javascript Date转Number用法及代码示例
- Javascript Date转String用法及代码示例
- Javascript Atomics.add( )用法及代码示例
- Javascript Atomics.and()用法及代码示例
- Javascript Atomics.compareExchange( )用法及代码示例
- Javascript Atomics.exchange( )用法及代码示例
- Javascript Atomics.isLockFree( )用法及代码示例
- Javascript Atomics.load( )用法及代码示例
- Javascript Atomics.or( )用法及代码示例
- Javascript Atomics.store( )用法及代码示例
- Javascript Atomics.sub( )用法及代码示例
- Javascript Atomics.xor()用法及代码示例
- Javascript array.flatMap()用法及代码示例
- Javascript Array.of()用法及代码示例
- Javascript array.includes()用法及代码示例
- Javascript Array.isArray()用法及代码示例
- Javascript array.keys()用法及代码示例
- Javascript array.reduceRight()用法及代码示例
- Javascript array.toLocaleString()用法及代码示例
- Javascript array.values()用法及代码示例
注:本文由纯净天空筛选整理自geek_suryansh大神的英文原创作品 JavaScript Program to Convert Decimal to Binary。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。