javascript如何输入一个十进制数,并将其转换成二进制数?

 我来答
小婷陪你看世界
高粉答主

2018-04-01 · 关注小婷,让小婷陪你一起看美丽世界
小婷陪你看世界
采纳数:28409 获赞数:381131

向TA提问 私信TA
展开全部

以下函数可以将十进制数转为二进制数:

#include <iostream>
#include <malloc.h>
 
#define MAX 33
 
using namespace std;
 
/* 十进制数转换为二进制数(字符串表示) */
char *decToBin(long num);
 
int main()
{
    long dec = 123456789;
 
    cout<<"10进制数:\t"<<dec<<endl;
    cout<<"2进制数:\t"<<decToBin(dec)<<endl;
 
    return 0;
}
 
/* 十进制数转换为二进制数(字符串表示) */
char *decToBin(long num)
{
    char *arr;
    char temp;
    int i, n;
 
    arr = (char *)malloc(sizeof(char) * MAX);
    n = 0;
    while(num > 0)
    {
        arr[n++] = num % 2 + '0';
        num /= 2;
    }
 
    for(i=0; i<n/2; i++)
    {
        temp = arr[i];
        arr[i] = arr[n-1-i];
        arr[n-1-i] = temp;
    }
    arr[n] = '\0'; 
    return arr;
}

1、十进制数是指各位数字全部由小于10的数字(0..9)组成的数值,如123、45678等。二进制数是指各位数字全部由小于2的数字(0..1)组成的数值,如10、1011等。将十进制数转换为二进制数是将全部由小于10的数字组成的数值转换为全部由小于2的数字组成的数值,如十进制数100转换为二进制数为1100100。

2、将十进制数转换为二进制数的算法是采用辗转取余法,即将待转换数不断除2取余,记录余数,用新的商继续除2取余,直到该数为零。由于余数小于2,故所有余数组成的数值全部由0、1组成。再对这些余数进行逆置即可。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式