Hexadezimal in "Binär"-String umwandeln

Andrej85

Mitglied
Hey,

ich habe folgendes Problem:

Und zwar arbeite ich mit .NET C++. Ich empfange über TCP/IP einen String (zb. 0x00000F). Diesen String möchte ich in einen "Binär"-String umwandeln:

"0x00000F" = "000000000000000001111"

also mein "Binär"-String muss immer 21 Zeichen lang sein (0 oder 1).

Meine Vorgehensweise war bisher so:

String^ rcvbuffer;
String^ buf_bin;
int dec, m=0, n=0, i;

while(Socket_class::rcv_line(rcvbuffer, 10, 40, "\n")>0 )
{
dec = Convert::ToInt32(rcvbuffer,16);
buf_bin=Convert::ToString(dec,2);
}

rcvbuffer wäre zb. "0x000000"
dann wandelt er das in einen intger Wert um (dec = 0)
dann wieder in einen String (buf_bin = "0")

ich bräuchte aber: buf_bin = "000000000000000000000"


könnt ihr mir da bitte bitte helfen ich weiß nicht mehr weiter

MfG
 
Hallo,

du könntest einfach den String links mit Nullen auffüllen:
C++:
buf_bin=Convert::ToString(dec,2)->PadLeft(21,'0');
Gruß
MCoder
 
Zurück