C/C++ 十进制和二进制相互转换

最后更新于:2020-08-18 22:15:22

一.十进制和二进制区别

1、基数不同

十进制满10进1;
二进制满2进1;

2、有效字符不同

十进制有效字符有10个:0,1,2,3,4,5,5,6,7,8,9;
二进制有效字符有2个:0,1

3、用途不同

计算机只能用二进制存储和运算,在设计程序时二进制不容易读,所以可以采用八进制和十六进制来帮助编程,计算机再翻译成二进制数来用。

C/C++编程中比较常用的是:十进制、二进制、八进制、十六进制,其中八进制也用得比较少。

一.十进制转二进制

/************************************************************************/
/*@文件名      : C/C++ 十进制转二进制.cpp
/*@日  期      : 2020/07/28 21:52
/*@作  者      : 猿说编程
/*@公众号      : 猿说编程
/*@博客        : www.shuopython.com
/*@描述        : C语言教程 - 十进制转二进制
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"


int main()
{

    int num, m, c, i = 0;
    int n = 2;
    int a[32];
    printf("输入一个整数:");
    scanf_s("%d", &num);
    m = num;
    while (num > 0)
    {
        c = (num % n);
        a[i] = c;
        num = num / n;
        i++;
    }
    printf("十进制数%d转换成二进制数是:", m);
    for (i--; i >= 0; i--)           //将数组倒序输出
        printf("%d", a[i]);
    printf("\n");
    system("pause");
    return 0;
}

/*
输入一个整数:8
十进制数8转换成二进制数是:1000


输入一个整数:15
十进制数15转换成二进制数是:1111
请按任意键继续. . .

*/


二.二进制转十进制

/************************************************************************/
/*@文件名      : C/C++ 二进制转十进制.cpp
/*@日  期      : 2020/07/28 21:52
/*@作  者      : 猿说编程
/*@公众号      : 猿说编程
/*@博客        : www.shuopython.com
/*@描述        : C语言教程 - 二进制转十进制
/************************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include <math.h>


int main()
{

    long long n, a;
    int sum = 0, i = 0, m;
    printf("输入一个二进制数: ");
    scanf_s("%lld", &n);
    a = n;
    while (n != 0)
    {
        m = n % 10;
        n /= 10;
        sum += m*pow(2, i);
        ++i;
    }
    printf("二进制数 %lld 转换为十进制为 %d\n", a, sum);

    system("pause");
    return 0;
}

/*
输入一个二进制数: 1000
二进制数 1000 转换为十进制为 8


输入一个二进制数: 1110
二进制数 1110 转换为十进制为 14


输入一个二进制数: 111111
二进制数 111111 转换为十进制为 63

请按任意键继续. . .

*/



猜你喜欢

1. 三目运算符

2. 逗号表达式

3. NaN(Not a Number)

4. memcpy/strcpy/strcpy_s 区别

5. unicode 和多字节区别

6. 数组定义和使用

7. sizeof和strlen函数区别

8. Debug和_DEBUG区别

9. _WIN32/WIN32/_WIN64/WIN64区别

10. 判断exe可执行程序是32位的还是64位




转载请注明: 猿说编程 » C/C++教程 » 十进制和二进制相互转换

赞赏

微信赞赏支付宝赞赏