pack/unpack - litle endian - 64bit - question

大憨熊 提交于 2019-12-12 14:23:32

问题


#!/usr/bin/env perl
use warnings;
use 5.012;

my $var = 1 << 31;
say unpack( "B*", pack( "N", $var )  );

# 10000000000000000000000000000000

How can I get with pack/unpack from

my $var = 1 << 63;

an output like this?

# 1000000000000000000000000000000000000000000000000000000000000000

回答1:


say unpack("B*", pack( "Q>", $var ));

The > forces big-endian byte-order on the Q (unsigned 64-bit "quad") type.



来源:https://stackoverflow.com/questions/4672213/pack-unpack-litle-endian-64bit-question

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!