2010-11-15 3 views
0

Я хотел был бы преобразовать 14.4689 или 13.3616 в двоичные данные (биты) в php. Как я могу это сделать?Как преобразовать двойной/двоичный и наоборот?

Спасибо за помощь

Stephane

+0

http://php.net/manual/en/ language.types.float.php вы не можете сделать это без потери данных – Bakudan

+0

@Bakudan: Я не думаю, что потеря данных является проблемой здесь. OP просто хочет преобразовать в двоичный файл – stillstanding

ответ

1

посмотреть на упаковке и распаковке функции.

[добавляя пример]


[email protected]:~/rentacoder/harvard$ cat /tmp/test.php; /tmp/test.php 
#!/usr/bin/php5-cgi 
<?php 
$packed = pack("d", 12.3456); 
print_r(unpack("d", $packed)); 
?> 
X-Powered-By: PHP/5.2.12-2 
Content-type: text/html 

Array 
(
    [1] => 12.3456 
) 
0

использование этого:

<?php 
decbin(14.4689); 
?> 
+0

'decbin()' предназначен только для целых чисел. если вы попытаетесь перевернуть это с помощью 'bindec()', вы испортили исходный номер. – stillstanding

3

Использование pack('d',14.4689) (двойной) или pack('f',14.4689) (поплавок)