Thread Große Integer in einzelne Bytes auflösen (13 answers)
Opened by zuse1 at 2019-02-15 11:50

zuse1
 2019-02-15 17:55
#189790 #189790
User since
2019-02-15
5 Artikel
BenutzerIn
[default_avatar]
Vielen Dank, da ich erst vor 2 Wochen angefangen habe, mich etwas mit Perl zu beschäftigen, ist sowas super hilfreich :)

Da ich sogar 8 Bytes benötige, ersetze ich mal Vax durch Quad und erzwinge LE durch '<'.
Code: (dl )
1
2
my @array = unpack( "C8", pack( "Q<", 0xf8f7f6f5f4f3f2f1 ) );
print( join( ", ", @array ), "\n" ); # 241, 242, 243, 244, 245, 246, 247, 248


Soweit so gut, aber nur mal interessehalber:
Was müsste ich tun, wenn ich z.B. genau 16 oder noch mehr Bytes auf gleiche Weise füllen müsste? Da gehen mir ja dann langsam die Datentypen aus.

Wenn ich versuche, 2 Quads aneinander zu kleben, bleibt das zweite davon leer, während beim ersten die Werte durch die Decke zu schießen scheinen:
Code: (dl )
1
2
3
use bigint;
my @array = unpack( "C16", pack( "Q<2", 0xfffefdfcfbfaf9f8f7f6f5f4f3f2f1f0 ) );
print( join( ", ", @array ), "\n" ); # 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0

View full thread Große Integer in einzelne Bytes auflösen