赞
踩
- #include <stdio.h>
- #include <stdlib.h>
-
- #define MAXBITS 100
-
- int main()
- {
- int inputNumber;
-
- int re;
-
- int bits[MAXBITS];
-
- int j;
- int i = 0;
-
- printf("\t\tConverter decimal --> binary\n\n");
-
- //用户输入一个十进制数
- printf("\nenter a positive integer number: ");
- scanf("%d", &inputNumber);
-
- if (inputNumber < 0)
- {
- printf("only positive integers >= 0\n");
- return 1;
- }
-
- while (inputNumber > 0)
- {
- re = inputNumber % 2;
-
- inputNumber = inputNumber / 2;
-
- bits[i] = re;
- i++;
- }
-
- printf("\n the number in binary is: ");
-
- for (j = i - 1; j >= 0; j--)
- {
- printf("%d", bits[j]);
- }
-
- if (i == 0)
- {
- printf("0");
- }
-
- return 0;
- }

测试结果:
Converter decimal --> binary
enter a positive integer number: 100
the number in binary is: 1100100
2、十进制转换成十六进制
- #include <stdio.h>
- void decimal2Hexadecimal(long num);
-
- int main()
- {
- long decimalnum;
-
- printf("Enter decimal number: ");
- scanf("%ld", &decimalnum);
-
- decimal2Hexadecimal(decimalnum);
-
- return 0;
- }
-
- void decimal2Hexadecimal(long num)
- {
- long decimalnum = num;
- long quotient, remainder;
- int i, j = 0;
- char hexadecimalnum[100];
-
- quotient = decimalnum;
-
- while (quotient != 0)
- {
- remainder = quotient % 16;
- if (remainder < 10)
- hexadecimalnum[j++] = 48 + remainder;
-
- else
- hexadecimalnum[j++] = 55 + remainder;
-
- quotient = quotient / 16;
- }
-
-
- for (i = j; i >= 0; i--)
- {
- printf("%c", hexadecimalnum[i]);
- }
-
- printf("\n");
- }

测试结果:
Enter decimal number: 100
64
3、十进制转换成八进制
- #include <stdio.h>
- void decimal2Octal(long decimalnum);
-
- int main()
- {
- long decimalnum;
-
- printf("Enter the decimal number: ");
- scanf("%ld", &decimalnum);
-
- decimal2Octal(decimalnum);
-
- return 0;
- }
-
- void decimal2Octal(long decimalnum)
- {
- long remainder, quotient;
-
- int octalNumber[100], i = 1, j;
- quotient = decimalnum;
-
- while (quotient != 0)
- {
- octalNumber[i++] = quotient % 8;
-
- quotient = quotient / 8;
- }
-
- for (j = i - 1; j > 0; j--) printf("%d", octalNumber[j]);
-
- printf("\n");
- }

测试结果:
Enter the decimal number: 100
144
【欢迎关注编码小哥,学习更多实用的编程方法】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。