当前位置:   article > 正文

十进制数转换成二进制、八进制、十六进制_数制的转换,编译将一个十进制整数转换为二进制数,八进制数,十六进制数

数制的转换,编译将一个十进制整数转换为二进制数,八进制数,十六进制数

1、十进制转换成二进制

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAXBITS 100
  4. int main()
  5. {
  6. int inputNumber;
  7. int re;
  8. int bits[MAXBITS];
  9. int j;
  10. int i = 0;
  11. printf("\t\tConverter decimal --> binary\n\n");
  12. //用户输入一个十进制数
  13. printf("\nenter a positive integer number: ");
  14. scanf("%d", &inputNumber);
  15. if (inputNumber < 0)
  16. {
  17. printf("only positive integers >= 0\n");
  18. return 1;
  19. }
  20. while (inputNumber > 0)
  21. {
  22. re = inputNumber % 2;
  23. inputNumber = inputNumber / 2;
  24. bits[i] = re;
  25. i++;
  26. }
  27. printf("\n the number in binary is: ");
  28. for (j = i - 1; j >= 0; j--)
  29. {
  30. printf("%d", bits[j]);
  31. }
  32. if (i == 0)
  33. {
  34. printf("0");
  35. }
  36. return 0;
  37. }

 

测试结果:

Converter decimal --> binary
enter a positive integer number: 100

 the number in binary is: 1100100

2、十进制转换成十六进制

  1. #include <stdio.h>
  2. void decimal2Hexadecimal(long num);
  3. int main()
  4. {
  5. long decimalnum;
  6. printf("Enter decimal number: ");
  7. scanf("%ld", &decimalnum);
  8. decimal2Hexadecimal(decimalnum);
  9. return 0;
  10. }
  11. void decimal2Hexadecimal(long num)
  12. {
  13. long decimalnum = num;
  14. long quotient, remainder;
  15. int i, j = 0;
  16. char hexadecimalnum[100];
  17. quotient = decimalnum;
  18. while (quotient != 0)
  19. {
  20. remainder = quotient % 16;
  21. if (remainder < 10)
  22. hexadecimalnum[j++] = 48 + remainder;
  23. else
  24. hexadecimalnum[j++] = 55 + remainder;
  25. quotient = quotient / 16;
  26. }
  27. for (i = j; i >= 0; i--)
  28. {
  29. printf("%c", hexadecimalnum[i]);
  30. }
  31. printf("\n");
  32. }

 测试结果:

Enter decimal number: 100
64

3、十进制转换成八进制 

  1. #include <stdio.h>
  2. void decimal2Octal(long decimalnum);
  3. int main()
  4. {
  5. long decimalnum;
  6. printf("Enter the decimal number: ");
  7. scanf("%ld", &decimalnum);
  8. decimal2Octal(decimalnum);
  9. return 0;
  10. }
  11. void decimal2Octal(long decimalnum)
  12. {
  13. long remainder, quotient;
  14. int octalNumber[100], i = 1, j;
  15. quotient = decimalnum;
  16. while (quotient != 0)
  17. {
  18. octalNumber[i++] = quotient % 8;
  19. quotient = quotient / 8;
  20. }
  21. for (j = i - 1; j > 0; j--) printf("%d", octalNumber[j]);
  22. printf("\n");
  23. }

 测试结果:

Enter the decimal number: 100
144
【欢迎关注编码小哥,学习更多实用的编程方法】

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/702074
推荐阅读
相关标签
  

闽ICP备14008679号