问题:二进制转与十进制相互转换。

代码1:二进制转换为十进制

#include <stdio.h>
#include <math.h>int convertBinaryToDecimal(long long n);int main()
{
long long n;
printf("输入一个二进制数: ");
scanf("%lld", &n);
printf("二进制数 %lld 转换为十进制为 %d", n, convertBinaryToDecimal(n));
return 0;
}int convertBinaryToDecimal(long long n)
{
int decimalNumber = 0, i = 0, remainder;
while (n!=0)
{remainder = n%10;n /= 10;decimalNumber += remainder*pow(2,i);++i;
}
return decimalNumber;
}

运行结果:

输入一个二进制数: 110110111
二进制数 110110111 转换为十进制为 439

代码2:十进制转换为二进制

#include <stdio.h>
#include <math.h>long long convertDecimalToBinary(int n);int main()
{
int n;
printf("输入一个十进制数: ");
scanf("%d", &n);
printf("十进制数 %d 转换为二进制位 %lld", n, convertDecimalToBinary(n));
return 0;
}long long convertDecimalToBinary(int n)
{
long long binaryNumber = 0;
int remainder, i = 1, step = 1;while (n!=0)
{remainder = n%2;printf("Step %d: %d/2, 余数 = %d, 商 = %d\n", step++, n, remainder, n/2);n /= 2;binaryNumber += remainder*i;i *= 10;
}
return binaryNumber;
}

运行结果:

输入一个十进制数: 100
Step 1: 100/2, 余数 = 0, 商 = 50
Step 2: 50/2, 余数 = 0, 商 = 25
Step 3: 25/2, 余数 = 1, 商 = 12
Step 4: 12/2, 余数 = 0, 商 = 6
Step 5: 6/2, 余数 = 0, 商 = 3
Step 6: 3/2, 余数 = 1, 商 = 1
Step 7: 1/2, 余数 = 1, 商 = 0
十进制数 100 转换为二进制位 1100100

参考代码:

#include<stdio.h>//求a的b次方函数
unsigned ppow(unsigned a, unsigned b) {
unsigned cc = 1;
while (b) {cc*=a;b--;
}
return cc;
}
int main()
{
unsigned long long n = 0;
unsigned  i, k=0, count = 0;
printf("请输入2进制数:");scanf_s("%lld", &n);          //用scanf()在Visual Studio 2019 会警告返回值被忽略
while (n) {i = n % 10;                //这个说错了,2和10都可以,用10会比较好if (i) {                  //判断i是否为0count += ppow(2, k);}k++;                      //k做为2的次方数,每次n /= 10 就+1n /= 10;
}
printf(" 转成10进制= %d",count);
return 0;
}

C语言:二进制与十进制相互转换相关推荐

  1. c语言二进制转十进制(附完整源码)

    c语言二进制转十进制 c语言二进制转十进制完整源码 c语言二进制转十进制完整源码 #include <stdio.h>int main() {int remainder, number = ...

  2. c++十进制转二进制_二进制与十进制相互转换的原理

    ┇铺垫 二进制,简单来说,是一种运算规则,每一位达到"二"就进一位,故称为"二" "进" 制.在我们日常计算里每一位到"十&quo ...

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

    实例 - 二进制转换为十进制 #include <stdio.h> #include <math.h>int convertBinaryToDecimal(long long ...

  4. c 语言 二进制 十进制,C 语言实例 - 二进制与十进制相互转换

    实例 - 二进制转换为十进制 #include #include int convertBinaryToDecimal(long long n); int main() { long long n; ...

  5. C语言——二进制转为十进制

    #include <stdio.h> #include <math.h> //二进制转换为十进制 int convertBinaryToDecimal(long long n) ...

  6. matlab 实现二进制与十进制相互转换

    dec2bin():该函数实现从十进制到二进制的转换.调用格式:b=dec2bin(a).其中b为二进制,a为十进制. bin2dec():该函数实现从二进制到十进制的转换,调用格式:a=bin2de ...

  7. 二进制和十进制相互转换的简便方法

    1.二进制转换为十进制: 如果按照传统的方法,算2的乘方与二进制每一位的积,这样容易理解,但是在编程过程中,求2的乘法用到的pow函数是一个double类型的函数,而我们经常用到的是int类型的数,在 ...

  8. C语言二进制与十进制互相转换的方法和示例

    文章目录 1.十进制转二进制字符串的思路 2.二进制字符串转十进制的思路 3.示例代码 4.获取视频教程 5.版权声明 在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传 ...

  9. C语言————二进制转十进制

    <思路> 把输入的二进制数按照从低到高的次序依次输出,且每一次都乘以相应的位权 //(所谓位权,数中每一固定位置对应的单位值称为位权.例如十进制第一位位权为0,第2位的位权为10,第3位的 ...

最新文章

  1. 程序员过关斩将--面试官再问你Http请求过程,怼回去!
  2. 《图解HTTP》读书笔记--第1章 了解Web及网络基础
  3. Linux下C语言的调试--转
  4. python3.5将list类型转换为矩阵类型
  5. 主角的创建与选择 Learn Unreal Engine (with C++)
  6. 阿里云NAS备份服务
  7. geoserver矢量瓦片发服务前端展示偏移问题解决
  8. 基础知识系列☞关键字→virtual
  9. 一步一步asp.net_删除模块设计
  10. shp地图如何导入奥维地图手机_奥维地图如何导入路线数据?
  11. 全球及中国细胞和基因治疗用融化设备行业发展模式及未来前景分析报告2022-2028年
  12. 安装磁盘阵列卡的方法
  13. 如何将html转化成mp4,怎么把mov转换成mp4格式?方法很简单,1分钟完成转换
  14. oracle的dos登陆口令,ORACLE的DOS操作方式
  15. C语言中终端一直有光标闪烁,word里光标一直闪
  16. 申报2021国家高新技术企业认定,有哪些标准?
  17. opencv人脸识别(一)调用笔记本摄像头
  18. WinRAR 破解注册
  19. 运行nrm包 nrm ls 时报错无法查询到可选择的镜像源地址的问题及解决方法
  20. 静态代码分析工具清单:开源篇(各语言)

热门文章

  1. 计算机组装与维护贴吧,试论《计算机组装与维护》的教学改革
  2. HTML文件本身是一种什么文件格式,step是什么格式的文件?
  3. 阿里巴巴达摩院招聘计算机视觉算法工程师和实习生
  4. RHCE笔记--第三天
  5. UE4 BP节点 :相对位置,相对坐标,相对方向(Inverse Transform Direction /Location/Rotation)
  6. wireshark解析达梦数据库协议
  7. 如果你想申请国家级高新技术企业
  8. python tracer(false)_Python龟太空入侵者子弹不打入侵者
  9. nForce主板 巧妙去掉“安全删除硬盘”图标!
  10. IText5 怎么设置页眉页脚