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
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
pecunia Geschrieben 11. Februar 2006 Autor Geschrieben 11. Februar 2006 Unglaublich... Und ich brauchte über 2 Stunden um es hinzubekommen. Bist Weltklasse...
nic_power Geschrieben 11. Februar 2006 Geschrieben 11. Februar 2006 Hallo, echo 'obase=16;$DZL' |bc printf "%x\n" $DZL tuts auch Nic
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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden