You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.1 KiB

  1. /***********************
  2. * Umrechnung Dezimalzahl
  3. * nach Dualzahl
  4. *
  5. * Rainer Hihn
  6. */
  7. #include <stdio.h>
  8. int main(void)
  9. {
  10. /**
  11. * Variablendeklaration
  12. */
  13. int iDezi = 0;
  14. int iDual[16] = {0};
  15. int i = 0;
  16. int iErg = 0;
  17. int iRest = 0;
  18. /**
  19. * Einlesen der Dezimalzahl
  20. */
  21. printf("Geben Sie eine Dezimalzahl ein: \n");
  22. scanf("%i", &iDezi);
  23. printf("\n");
  24. /**
  25. * Pruefen ob die Dezimalzahl
  26. * groesser als 16 bit ist
  27. */
  28. if(iDezi > 65536)
  29. {
  30. printf("Geben Sie eine Dezimalzahl ein die kleiner als 65.536 ist \n");
  31. }
  32. else{
  33. iErg = iDezi;
  34. i = 0;
  35. while(iErg > 0)
  36. {
  37. if(iErg % 2 == 0)
  38. {
  39. iDual[i] = 0;
  40. }
  41. else {
  42. iDual[i] = 1;
  43. }
  44. iErg = iErg / 2;
  45. i++;
  46. }
  47. /**
  48. * Ausgabe der Dualzahl
  49. */
  50. i = 15;
  51. for(i = 15; i >= 0; i--)
  52. {
  53. printf("%i", iDual[i]);
  54. }
  55. printf("\n");
  56. }
  57. return 0;
  58. }