[Problem]Binär zu Integer und zurück
-
Moin ich versuche gerade ne funktionierende typenumwnadlung hinzubekommen.
IntToBin mache ich mitUnicodeString IntToBin(int zahl) { char p1[32]; itoa(zahl,p1,2); return p1; }
das sollte eigentlich klappen.
BinToInt klappt aber weniger, da versuche ich es mitint BinToInt(UnicodeString binaer) { int a=0; long int j=1; for (int i=binaer.Length();i>0; i--) { if (binaer[i]=='1') { a+=j; } j=j*2; } return a; }
weiß jemand was falsch ist?
-
Was soll denn da nicht funktionieren?
Bei mir funktioniert das so!
-
wenn ich das wüste hätte ich das ja bereits behoben.
mir kamm das auch richtig vor, aber beiint i=0; int j=0; randomize(); while(j<=1000000) { int r=random(10000); if (r=BinToInt(IntToBin(r))) { i++; } j++; } Label1->Caption=i;
kommt nicht ne million raus, sondern so um 999900 bis 999990
-
blub1991 schrieb:
if (r=BinToInt(IntToBin(r)))
...Soll da wirklich eine Zuweisung hin?