/*********************************************************************************** * 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: "); for(int i = sizeof(number)*8-1; i >= 0; i--) { printf("%d", 1 & (number >> i)); } return 0; }