C语言 十进制和二进制相互转换 - C语言零基础入门教程
目录
-
一.十进制和二进制区别
- 1、基数不同
- 2、有效字符不同
- 3、用途不同
- 二.十进制转二进制
- 三.二进制转十进制
- 四.猜你喜欢
- 安装 Visual Studio
- 安装 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸载
- Visual Studio 2003/2015 卸载
- C 语言格式控制符/占位符
- C 语言逻辑运算符
- C 语言三目运算符
- C 语言逗号表达式
- C 语言 数组遍历
- C 语言 数组排序 – 冒泡法排序
- C 语言 数组排序 – 选择法排序
- C 语言 数组排序 – 插入法排序
- C 语言 数组排序 – 快速法排序
- C 语言 数组下标越界
- C 语言 数组内存溢出
- C 语言 数组下标越界和内存溢出区别
- C 语言 二维数组定义和使用
- C 语言 二维数组行数和列数计算
- 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; 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); printf("二进制数 %lld 转换为十进制为 %d\n", a, sum); system("pause"); return 0; 输入一个二进制数: 1000 二进制数 1000 转换为十进制为 8 输入一个二进制数: 1110 二进制数 1110 转换为十进制为 14 输入一个二进制数: 111111 二进制数 111111 转换为十进制为 63 请按任意键继续. . . */
四.猜你喜欢