Perl从二进制数中删除数字

Sam*_*s77 1 perl

我想从数字中删除几个数字24-bit binary并将其转换为18-bit binary数字.

例如:

如果是二进制数

bin24=111100111011111000100111
Run Code Online (Sandbox Code Playgroud)

我想删除位23:22,15:14并且7:6输出应该是

bin18=110011111110100111
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用substr()和连接.只是想知道我是否可以在一行中做到这一点?

mob*_*mob 7

$bin18 = join '', unpack('x2 a6 x2 a6 x2 a6', $bin24);
Run Code Online (Sandbox Code Playgroud)