Byte<--->Bit von ???
Dies sind 2 functionen um Bytes in Bits und umgekert zu wandeln.
[code:1:864bfb90b3]Function bit_byte$(bits$)
bits$ = "1" + bits$
While Len(bits$) Mod 8 > 0
bits$ = "0"+bits$
Wend
outp$ = ""
While Len(bits$) > 0
sav% = 0
For pos% = 1 To 8
sav% = sav%+Int(Mid(bits$,pos%,1))*2^(8-pos%)
Next
bits$ = Right(bits$,Len(bits$)-8)
outp$ = outp$ + Chr(sav%)
Wend
Return outp$
End Function

Function byte_bit$(bytes$)
outp$ = ""
While Len(bytes$) > 0
bit% = Asc(Left$(bytes$,1))
sav$ = ""
For pos% = 7 To 0 Step -1
If bit%-2^pos% >= 0 Then sav$ = sav$ +"1" : bit% = bit% - 2^pos% Else sav$ = sav$ +"0"
Next
bytes$ = Right$(bytes$,Len(bytes$)-1)
outp$ = outp$ + sav$
Wend
outp$ = Right(outp$,Len(outp$)-Instr(outp$,"1"))
Return outp$
End Function[/code:1:864bfb90b3]

Und wenn ihr das dann mal testen wollt dann müsste ihr einfach das oben drüber schreiben:
[code:1:864bfb90b3]a$ = "11100101011110001011101"
Print a$
b$ = bit_byte(a$)
Print b$
Print byte_bit(b$)
WaitKey
End[/code:1:864bfb90b3]
===
von ???
Bytes = Bit * 8 :roll:
===
von ???
Ich habe das geproggt, weil man dann z.b. binärinformationen wie an oder aus nicht als 1 oder 0 per Inet versenden muss sonder alle binär infos mit ein oder zwei bytes zu schikken.
===
von ???
Das ist aber absolut Resourcen fressent... da bei dir eine 0 oder 1 immer ein Byte belegt...

Also 16 * 0/1 = 16 Bytes = 16*8 = 128 Bits ...

So dann brauchst du für 16 Bits als String gleich 128 Bits zum Transport...
===
von ???
Sorry ich hab da was falsch erklärt:
Es geht darum mehrere binär informationen in form eines Strings als Bytes zusammen zufassen. (bsp: "1111111111111100"<=>"˙ü" und wieder andersrum).´
@ Ping das man für eine 1 oder eine 0 ein ganzes byte verwendet wollte ich gerade damit umgehen!



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: