【问题标题】:10 digit decimal to binary conversion not works10位十进制到二进制转换不起作用
【发布时间】:2016-05-18 00:14:33
【问题描述】:

我在将 10 位十进制转换为二进制时遇到问题。当我将最多 9 位数字转换为 10 位数字时,它可以同时完美地工作。

例如,当我使用 decbin() 将十进制转换为二进制时,此函数的输入最多为 9 位,然后我会正确输出。当我使用 10 位小数时,2200000000 - 9999999999 之间的数字作为输入得到相同的输出 (1111111111111111111111111111111)。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>test</title>
</head>
<body>
<?php
$num = $_GET[n];
$bin = decbin($num);    // Decimal to binary
?>
<table>
<tr><td>Number:</td><td><?php echo $num; ?></td></tr>
<tr><td>Binary:</td><td><a href='binary.php?b=<?php echo $bin; ?>'><?php echo $bin; ?></a></td></tr>
</table>
</body>
</html>

当我访问number.php?n=2200000845 时,结果显示1111111111111111111111111111111

请大家解决这个问题..

【问题讨论】:

  • 它对我有用!!我得到1001001100101100000001011011101010,顺便说一句,它是$bin2 = decbin($num2);,对吗?
  • 请用我更新的代码检查一下
  • 它再次起作用了:Number: 9999999999 Binary: 1001010100000010111110001111111111
  • @Thamizhan:你用我的代码测试了吗?现在我检查了。我得到相同的 111111111111111111111111111111 输出 9999999999
  • @DineshKumar 你在 64 位机器上试试吗?

标签: php binary


【解决方案1】:

在 32 位系统上,最大十进制数为:4294967295

查看:http://php.net/manual/en/function.decbin.php

【讨论】:

  • 先生,谢谢,现在它已经修复了.. 我已经共享了 linux 主机.. 我如何查看 32 位或 64 位的天气?
  • phpinfo 可以告诉你。例如:System Linux frontend 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u6 x86_64
  • @Dinesh Kumar 使用“uname –a”howtogeek.com/198615/…
【解决方案2】:

您也将$num 用于$bin2。改变

$bin2 = decbin($num);

$bin2 = decbin($num2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2017-05-22
    • 2023-04-11
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2014-02-15
    • 2016-02-09
    相关资源
    最近更新 更多