C语言编程练习之二进制与十进制相互转换

r囧r小猫 2023-07-14 05:28 114阅读 0赞

二进制转换为十进制:

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. long long x;
  6. printf("输入一个二进制数:\n");
  7. scanf("%lld", &x);
  8. int b=convert(x);
  9. printf("二进制数 %lld 转换为十进制为 %d", x, b);
  10. return 0;
  11. }
  12. int convert(long long x)
  13. {
  14. int decimalNumber = 0, i = 0, j;
  15. while (x!=0)
  16. {
  17. j = x%10;
  18. x /= 10;
  19. decimalNumber += j*pow(2,i);
  20. ++i;
  21. }
  22. return decimalNumber;
  23. }

结果如下:
在这里插入图片描述
十进制转换为二进制:
思路:根据十进制转换为二进制的数学计算步骤和特点编程,十进制数不断除2取余数,最后组合形成二进制数。

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. int x;
  6. printf("输入一个十进制数: ");
  7. scanf("%d", &x);
  8. printf("十进制数 %d 转换为二进制位 %lld", x, convert(x));
  9. return 0;
  10. }
  11. long long convert(int x)
  12. {
  13. long long binaryNumber = 0;
  14. int remainder, i = 1;
  15. while (x!=0)
  16. {
  17. remainder = x%2;
  18. x=x/2;
  19. binaryNumber += remainder*i;
  20. i = i*10;
  21. }
  22. return binaryNumber;
  23. }

结果如下:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,114人围观)

还没有评论,来说两句吧...

相关阅读