【问题标题】:convert perl function to php function (unpack, pack) [closed]将 perl 函数转换为 php 函数(解包,打包)[关闭]
【发布时间】:2013-11-02 01:00:31
【问题描述】:

我想将数字的二进制表示转换为 PHP 中的数字。我目前在 Perl 中使用以下内容:

sub binary2decimal {
    return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}

例如,binary2decimal('1101') 返回13binary2decimal('1110') 返回14

【问题讨论】:

  • 顺便说一下,sub binary2decimal { oct("0b" . shift) } 在 Perl 中是一个更简单的实现。
  • 什么是转变?我不知道 perl...
  • 在 sub 中,它是 shift(@_) 的缩写。 @_ 包含子的参数。

标签: php perl binary decimal data-conversion


【解决方案1】:

可能你需要这个函数:http://php.net/bindec

但我认为这个实现也是一样的:

function binary2decimal($param) {
  return unpack("N", pack("B32",substr(str_repeat("0",32) . $param, -32)));
}

【讨论】:

  • 不,不是这个功能,看我的。有打包成解包...
  • 它也是如此。但我也添加了一个更文字的转录本
  • 你为什么不试试bindec函数呢?它也是一样的。它从二进制转换为十进制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多