最新消息:

二进制直接量(binary number format)

php admin 3309浏览 0评论

看下面的例子:

$bin  = 0b1101;
echo $bin;

//13

而在以前, 我们需要使用bin2dec来用字符串表示, 这个着实有些不爽.

另外, PHP5.4还新增了hex2bin 可以直接把一个十六进制表示的字符串, 转换成二进制数据流, 而在以前, 我们需要使用pack来完成.

<?php
$hex = "ff0f";
var_dump(hex2bin($hex) === pack("H*", $hex));

//bool(true);

不过, 还是要提醒下: PHP 5.4还处于开发阶段, 在最终release之前, 任何新特性都可能被调整或者更改. 如果大家有任何建议, 也欢迎反馈, 帮助我们使得PHP变得更好.

谢谢

更多更新信息, 请关注: Changelog


Comments

  • 2011/10/10, wclssdn writes: 内个… PHP中有double类型么?
    pow(2,64) == pow(2,64) – 1 的问题. 很恶心啊..
    话说. 这是32位机器上的效果..
  • 2011/10/10, vt writes: @wclssdn PHP 有浮点类型的,你说的这个问题和 PHP 没关系。如果你想比较浮点数可以用这种办法:function compare_float($f1, $f2) {
    $precision = 0.00001;
    if ((($f1 – $precision) f2))
    return 1;
    else
    return 0;
    }
  • 2011/10/10, vt writes: 再试一次function compare_float($f1, $f2, $precision=0.00001) {
    if (abs($f1-$f2) < $precision) {
    return 1; // equal
    }
    else {
    return 0; // not equal
    }
    }
  • 2011/10/10, wclssdn writes: @vt 你尝试用2^64这个数试试… 前提是32位机器上.
    我不想计算小数… 我是想说.. PHP在大整数的处理上..有点问题..
  • 2011/10/10, vt writes: @wclssdn 这不是整数,这是浮点数啊
  • 2011/10/10, wclssdn writes: 2^64 是浮点数?
    那你用18446744073709551616这个数..
    if (18446744073709551616 == 18446744073709551615){
    echo ‘x’;
    }
    试试.. 你就知道我说的啥意思了- -..
  • 2011/10/10, wynn writes: @wclssdn: 请认真看一下PHP文档,在type的integer那一部分有很明确的描述:整数溢出
    如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

    以及对应的范例代码:
    <?php
    $large_number = 2147483647;
    var_dump($large_number);
    // 输出为:int(2147483647)

    $large_number = 2147483648;
    var_dump($large_number);
    // 输出为:float(2147483648)

    你可以自己试试看 var_dump(pow(2,64), pow(2, 64)-1); 看看结果是什么(尤其请注意看类型)。
    32位机器上,float拥有14位精度,而pow(2,64)是10^19量级了。
    要对大整数进行处理可以用GMP或者BCMath

  • 2011/12/10, iminto writes: java7里的新特性

Copyright © 2010 风雪之隅 版权所有, 转载务必注明. 该Feed只供个人使用, 禁止未注明的转载或商业应用. 非法应用的, 一切法律后果自负. 如有问题, 可发E-mail至my at laruence.com.(Digital Fingerprint: 73540ba0a1738d7d07d4b6038d5615e2)

Related Posts:

转载请注明:爱开源 » 二进制直接量(binary number format)

您必须 登录 才能发表评论!