Archiv verlassen und diese Seite im Standarddesign anzeigen : c++ HILFE
Unregistered
2002-12-03, 12:23:03
hi
was für einen quellcod emuss ich eingeben um eine dezimal zahl in eine dualzahl mit hilfe einer schleife umzuwandeln
( wird eine zahl grösser als 64 eingegeben soll eine fehlermeldung erscheinen und das eingabe feld gelöscht werden )
( ich arbeite mit borland builder 4 )
Nagilum
2002-12-04, 08:52:52
Zum Beispiel:
Du suchst dir immer die höchste passende Zweierpotenz, ziehst sie von der Zahl ab und wiederholst den Vorgang mit dem Rest, solange bis du bei Null ankommst:
Eingabe: 42
2^5 = 32, Rest 10
2^3 = 8, Rest 2
2^1 = 2, Rest 0
Gesuchte Zahl: 101010
Ohne Gewähr, da noch ohne Frühstück. :D
Nasenbaer
2002-12-04, 15:05:07
Aber bietet Borland nicht auch Funktionen zur Umwandlung an?
IMO gibt es auf jedenfall IntToHex(). Also sollte es auch sowas für Binäre Zahlen geben.
MFg Nasenbaer
Nagilum
2002-12-04, 17:10:32
Ich denke mal, dass es sich hier um ne Hausaufgabe für die Schule handelt. :stareup:
Originally posted by Unregistered
hi
was für einen quellcod emuss ich eingeben um eine dezimal zahl in eine dualzahl mit hilfe einer schleife umzuwandeln
( wird eine zahl grösser als 64 eingegeben soll eine fehlermeldung erscheinen und das eingabe feld gelöscht werden )
( ich arbeite mit borland builder 4 )
Größer als 64 oder größer als 63? Wenn 63 das Maximum ist, reichen 6 Binärstellen.
Ich kenn mich mit dem BCB nicht aus, darum hier nur ein paar Codeteile:
char binaerzahl[7];
int zahl = // wie auch immer du die Zahl aus dem Eingabefeld ermittelst
if (zahl > 63)
{
// Fehlermeldung ausgeben
// Eingabefeld löschen
}
else
{
for (int i = 5; i >= 0; i--)
{
binaerzahl[i] = (zahl & 1) ? '1' : '0';
zahl >>= 1;
}
binaerzahl[6] = '\0';
// Binärzahl ausgeben
}
Der Null-terminierte String binaerzahl beinhaltet dann die Zahl in Binärdarstellung mit führenden Nullen (immer 6 Stellen).
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.