fork download
  1. #include <math.h>
  2. #include <stdio.h>
  3. long long convert(int n);
  4. int main() {
  5. int n;
  6. printf("Enter a decimal number: ");
  7. scanf("%d", &n);
  8. printf("%d in decimal = %lld in binary", n, convert(n));
  9. return 0;
  10. }
  11. long long convert(int n) {
  12. long long bin = 0;
  13. int rem, i = 1, step = 1;
  14. while (n != 0) {
  15. rem = n % 2;
  16. printf("Step %d: %d/2, Remainder = %d, Quotient = %d\n", step++, n, rem, n / 2);
  17. n /= 2;
  18. bin += rem * i;
  19. i *= 10;
  20. }
  21. return bin;
  22. }
Success #stdin #stdout 0s 4340KB
stdin
Standard input is empty
stdout
Enter a decimal number: Step 1: 32767/2, Remainder = 1, Quotient = 16383
Step 2: 16383/2, Remainder = 1, Quotient = 8191
Step 3: 8191/2, Remainder = 1, Quotient = 4095
Step 4: 4095/2, Remainder = 1, Quotient = 2047
Step 5: 2047/2, Remainder = 1, Quotient = 1023
Step 6: 1023/2, Remainder = 1, Quotient = 511
Step 7: 511/2, Remainder = 1, Quotient = 255
Step 8: 255/2, Remainder = 1, Quotient = 127
Step 9: 127/2, Remainder = 1, Quotient = 63
Step 10: 63/2, Remainder = 1, Quotient = 31
Step 11: 31/2, Remainder = 1, Quotient = 15
Step 12: 15/2, Remainder = 1, Quotient = 7
Step 13: 7/2, Remainder = 1, Quotient = 3
Step 14: 3/2, Remainder = 1, Quotient = 1
Step 15: 1/2, Remainder = 1, Quotient = 0
32767 in decimal = 4602130887 in binary