我将10位十进制转换为二进制时遇到问题。当我最多转换为9位时,当我使用十进制数字的decbin()函数时,它完全同时工作。它不起作用。
例如,当我使用decbin()将十进制转换为二进制时,此函数具有最多9位数的任何输入,那么我将得到正确的结果。当我使用10位十进制时,我得到1111111111111111111111111111111
之间的数字相同的输出(2200000000 - 9999999999
)作为输入。
<!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
。
任何人都可以解决这个问题..
答案 0 :(得分:1)
在32位系统上,最大十进制数为:4294967295
答案 1 :(得分:0)
您还$num
使用了$bin2
。改变
$bin2 = decbin($num);
到
$bin2 = decbin($num2);