/*********************************************************************************** * Aufgabe * * Schreiben Sie ein Programm, das eine ganze Zahl einliest und die Rechenschritte * * anzeigt, um die Bits der entsprechenden Binaerzahl zu ermitteln. Nutzen Sie * * eine geeignete Schleife, sodass das Programm alle Stellen der Binärzahl anzeigt.* * Lesen Sie zudem solange ein, bis eine positive Zahl eingegeben wird. * * * * Beispiel: * * >> Geben Sie eine ganze, positive Zahl ein: abc * * >> Geben Sie eine ganze, positive Zahl ein: -5 * * >> Geben Sie eine ganze, positive Zahl ein: 21 * * 21 / 2 = 10, Rest: 1 * * 10 / 2 = 5, Rest: 0 * * 5 / 2 = 2, Rest: 1 * * 2 / 2 = 1, Rest: 0 * * * * Schreiben Sie danach das Programm so um, dass es Bit- und Shiftoperatoren * * verwendet sowie negative Zahlen verarbeiten kann. Die Rechenschritte werden * * nicht mehr anzeigt, sondern nur noch das Bitmuster aller gespeicherten Bits. * * * * Beispiele: * * >> Geben Sie eine ganze Zahl ein: abc * * >> Geben Sie eine ganze Zahl ein: 21 * * 00000000000000000000000000010101 * * * * >> Geben Sie eine ganze Zahl ein: -9 * * 11111111111111111111111111110111 * ***********************************************************************************/ #include #include "../io/myio.h" int main() { unsigned int number = getNumber("Ganze Zahl: "); while(number > 0) { int remainder = number % 2; int division = number / 2; printf("%5d / 2 = %5d; Rest %d\n", number, division, remainder); number = division; } return 0; }