pecunia Geschrieben 10. Februar 2006 Geschrieben 10. Februar 2006 Man kann's auch zur Fuss... Aber wenn jemand faul ist... #! /bin/bash #for questions and opinions feel free to mail me: pecunia@pisula.net while read -p "Bitte eine dezimale Zahl eingeben: " DZL do echo $DZL | grep ^[a-Z]*$ > /dev/null if [ $? -eq 0 ] then echo "Bitte nur Zahlen eingeben" continue fi echo $DZL | grep ^[0].*$ > /dev/null if [ $? -eq 0 ] then case $DZL in 0) echo "0";; *) echo "Bitte ohne führende 0";; esac else i=0 while [ "$DZL" -ge "$((16**$i))" ] do ERG=$(( 16 ** $i )) i=$[ $i+1 ] done while [ "$ERG" -ge 1 ] do ERG1=$(( $DZL / $ERG )) ERG2=$(( $ERG1 * $ERG )) DZL=$(( $DZL - $ERG2 )) ERG=$(( $ERG / 16 )) case $ERG1 in 10) echo -ne "A";; 11) echo -ne "B";; 12) echo -ne "C";; 13) echo -ne "D";; 14) echo -ne "E";; 15) echo -ne "F";; *) echo -ne $ERG1;; esac done echo fi done Eine kleine Bitte... Sollte jemand dieses Skript nutzen und es auch nützlich finden, würde ich mich über eine Email sehr freuen: pecunia@pisula.net Zitieren
1226 Geschrieben 11. Februar 2006 Geschrieben 11. Februar 2006 Ich weiss, das ist hier kein Programmierwettbewerb und ich will auch nicht besserwisserisch auftreten (ja ich weiss, gerade das tu ich gerade), aber ich habs trotzdem mal verschlankt und unter AIX getestet: #! /bin/bash while read -p "Bitte eine dezimale Zahl eingeben: " DZL do echo $DZL | grep ^[a-Z]*$ > /dev/null if [ $? -eq 0 ] then echo "Bitte nur Zahlen eingeben" continue fi echo 'obase=16;$DZL' |bc done Zitieren
pecunia Geschrieben 11. Februar 2006 Autor Geschrieben 11. Februar 2006 Unglaublich... Und ich brauchte über 2 Stunden um es hinzubekommen. Bist Weltklasse... Zitieren
nic_power Geschrieben 11. Februar 2006 Geschrieben 11. Februar 2006 Hallo, echo 'obase=16;$DZL' |bc printf "%x\n" $DZL tuts auch Nic Zitieren
pecunia Geschrieben 11. Februar 2006 Autor Geschrieben 11. Februar 2006 Ihr macht mich verlegen... Aber was soll's... ich bin nur Amateur. Danke für die Lektion... Gruß pecunia Zitieren
nic_power Geschrieben 11. Februar 2006 Geschrieben 11. Februar 2006 Hallo, Ihr macht mich verlegen... Aber was soll's... ich bin nur Amateur. Danke für die Lektion... Sieh es mal positiv. Du hast den Algorithmus zur Umrechnung selbst implementiert (und damit weisst Du genau, was passiert). Wir hingegen verwenden nur die fertigen Stückchen, die die Shell bzw. das Betriebssystem mit sich bringt Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.