js实现将一位整数型数字转化为二进制数(十进制与二进制互转)

本文详细介绍了正整数和负整数转换为二进制数的方法,包括传统除以2取余法、求反加一法以及简化算法,并提供了JavaScript代码实现。此外,还介绍了如何使用toString()方法直接获取正整数的二进制表示,以及如何通过parseInt()函数进行二进制到十进制的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道正整数转化为二进制的方法是什么,就是将该数不断除以2求余,一直到最后一个数为1,然后倒着将余数从左往右拼接;

但是负整数的二进制数就不一样了,要先求其绝对值的二进制数后,再求反,最后再加一;

1.当然,这里还有一个简便的方法,可以先求其绝对值之后,再减一,最后求反。

代码实现:

​
function convert(num) {
	var str = '';
    var temp = num;
    if(num<0){
    	num = Math.abs(num) - 1;
    }	    
    var arr = new Array();
    arr = importArr(num, arr);
    if(temp < 0){
    	for(var j = 0; j < arr.length; j++){
    		if(arr[j] === 1){
    			arr[j] = 0;
    		}else{
    			arr[j] = 1;
    		}
    	}
    }
    for (i = arr.length; i > 0; i--) {
		str += arr[i-1];
    }
    if(temp < 0){
		str = '-' + str;
	} 
    return str;
}

function importArr(num, arr){
	for (var i = 0; 1; i++) {
        if (num / 2 >= 1) {
            arr[i] = num % 2;
            num = parseInt(num / 2);
        } else {
            arr[i] = 1;
            break;
        }
    }
    return arr;
}
console.log(convert(13));//1101
console.log(convert(-13));//-0011

2.利用toString()方法(但是这个方法只能求正整数的二进制数)

代码:

var numGG = 13;
console.log(numGG.toString(2))//1101

3.二进制转十进制,可利用parseInt(string,radix)

代码:

console.log(parseInt('1101',2))//13

 注意:radix表示的是要解析的数字的基数!所以代码中要想将二进制转化为十进制,那么radix必须写2.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值