C语言 十进制和二进制相互转换

Posted 猿说编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 十进制和二进制相互转换相关的知识,希望对你有一定的参考价值。

目录

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.十进制和二进制区别

1、基数不同

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

2、有效字符不同

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

3、用途不同

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

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

二.十进制转二进制

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 十进制和二进制相互转换
//@Time:2021/06/17 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#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
请按任意键继续. . .
*/

三.二进制转十进制

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 十进制和二进制相互转换
//@Time:2021/06/17 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
#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. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. C 语言格式控制符/占位符
  6. C 语言逻辑运算符
  7. C 语言三目运算符
  8. C 语言逗号表达式
  9. C 语言 数组遍历
  10. C 语言 数组排序 – 冒泡法排序
  11. C 语言 数组排序 – 选择法排序
  12. C 语言 数组排序 – 插入法排序
  13. C 语言 数组排序 – 快速法排序
  14. C 语言 数组下标越界
  15. C 语言 数组内存溢出
  16. C 语言 数组下标越界和内存溢出区别
  17. C 语言 二维数组定义和使用
  18. C 语言 二维数组行数和列数计算
  19. C 语言 指针声明和定义
  20. C 语言 指针 p++ / p–
  21. C 语言 十进制和二进制相互转换

未经允许不得转载:猿说编程 » C 语言 十进制和二进制相互转换

本文由博客 - 猿说编程 猿说编程 发布!

以上是关于C语言 十进制和二进制相互转换的主要内容,如果未能解决你的问题,请参考以下文章

C 语言实例 - 二进制与十进制相互转换

C语言十进制与BCD码的相互转换

C语言十进制与BCD码的相互转换

C语言数据类型和算数运算

c_cpp C片段将十进制转换为二进制

c语言编程题,数制转换