【发布时间】: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 位机器上试试吗?