From c723b55d05d0d657a75d04f728f9f09874bc3d1c Mon Sep 17 00:00:00 2001 From: f0tt3r Date: Mon, 8 Jun 2026 22:22:47 +0200 Subject: [PATCH] aufgabe 2 und kommentaare --- hallo | Bin 16240 -> 16288 bytes hallo-welt.c | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/hallo b/hallo index e53e9fce7548e0d5f553d0fa10b3a48eea6d06fb..8883a6d07112ffbdddec7647ba674d0e9b770f9b 100755 GIT binary patch delta 1247 zcmZWpVQf=X6u$R%qqHgPy^dun)V`9;ZCSc?V=}W=nQ@OjNDQJGE<}RBUUbrJC?#%7 zN*Ak!Ytz_q_Jbc9NH8QO#2>tbU@)=`*@FDAg#<8ZWJrLT8dqfrg-oC4y~jGxlbn9{ zp6{IRo_pHf!og#)R2`iitH0s&*obK!8@OqsV~APXArNULyhTq!2YU)6CW$?3EvAI9 zmDQSTib+02ve^G(rxhlhkYUwg%4cm$2oKoNRr1BuXOV`xH%G~dydBAt5i^zrN#qx595L@!tbHnmuPI=Dz($*A*@om3XvB4mi&k zr~GyfKjP6W85R?Ame1tQ=(^73?6f>bN27Bj;!u+1tt$!1+i~H?g~Dgd%G_p@n~@7% z6v)4mkPC_KET4>BdC1dTo=WpH}!a>#$$`*7bOQfySc+G7M&Qe4=a`+d-j=i+2@zq0=qI z%0I#4QlCe#R7uM7DEhe>Us6pXl|UxZUF=mFR@KzuT_WYVZ5XyRb4QGE%;Zj(qnpAJ zY%wLSmekuZ*KBdec`UwH@$5rIyWq~d4ohV*3=m~kI6Nr5sfHsy;wPl0*9f9@sk_wy z>5V>BQu_u}sZ$;4>)-Wmcm&;uv`eJs0IAte=xSTg_<7jTug~fF5Mo_H*WX6;{i*B6 z5JQL)h?@~-5ug7{*9pavaa>3g-jklA6EG%K(;oO*s-?q_k-V`8s^IrY$jd8*PuVLg zmThv`m*aK~`WNWCkmat`Xtny*WlR|PQ0-Gc*gM$2FRb>f0}-up{S<|O&8`*N zW*PkwGVM)Hq0&;rR-M6(c#BNX3;TkC_`in%#)3^^O0v=yaRKw2981rGBh&_?Apu?s j1stV^N8_O`#+H}C<(JkwdRi@oJs@sqqi12$hT4At1V@Dr delta 1056 zcmZuwYe^PY1!-B$u_ zH&W@7n`u+(F-AgdjDdk>sBDqY28U_CVbT;PHxYKSWQbwgp`3C5qdQo#$;yRS{f&-r znmAyB8TBO*?+t_>>_MV`O-Z-S#mt<05__k&;bBR^k;*yov0_TYRw;DpX6X&Ms5f5W zJ>NKId+U6^3O)TpYm&qZ?iJqCxe-BclgJrxh=kJkZl}{MXE?Jyu2Mn_L_<0v%216m2{Q+bQ5yU}9GDadG#T{S#vLw<4GasF z>)q0dL|1k+6U%c3sL0u-89fTrZc+OprdZ8Edm+sLmu(Mp+jaVXJ`)VsE&2v7Y`Kmf vfI2Ly%`cVb$W?Foyq6t0(BROCK8KUBfC5;4j>;LSzZ6{gx%3va #include #include #include @@ -9,14 +10,22 @@ void hallo_welt(void) { printf(HALLO); } +int zweierkomplement(int32_t i) { return ~i + 1; } + // use more then one int type -const char *binaerzahl(uint32_t bin) { +const char *binaerzahl(int32_t bin) { char *str = malloc(sizeof(bin) * 8 + 1); // Allocate 8 bits for actual data and 1 Bit for the \0 // sign indicating the end of the string + bool is_negative; if (!str) return NULL; - uint8_t bb; + if (bin < 0) { + bin = zweierkomplement(bin); + is_negative = true; + } + int32_t bb; // that way we keep the memory lighter + printf(is_negative ? "-" : ""); for (int i = sizeof(bin) * 8 - 1; i >= 0; i--) { bb = bin >> i; str[i] = (bb % 2 == 1) ? 1 : 0; @@ -28,6 +37,7 @@ const char *binaerzahl(uint32_t bin) { int getint(void) { uint32_t i; + printf("Geben Sie eine Dezimahlzahl ein: "); scanf("%u", &i); return i; }