php 进制转换 示例

<?php 
/*

    PHP三大类型, 八大变量
        标量类型
            整型   (整数)
            浮点型 (小数)
            布尔型
            字符串

        复合类型
            数组
            对象

        特殊类型
            资源
            空
 */


// 整型 
    // 最大整型  PHP_INT_MAX
    echo PHP_INT_MAX;
    echo '<hr>';

// 进制转换
    // 二进制 0 1   0b 开头的数值
    // 八进制 0-7   0  开头的数值
    // 十进制 0-9
    // 十六进制 0-9 a-f    0x 开头的数值


    // 012 = 1*8^1 + 2*8^0
    $a = 012 / 4;
    echo $a;       // 2.5  0开头为8进制
    echo '<br>';

    // 0212 = 2*8^2 + 1*8^1 + 2*8^0
    $b = 0212;
    echo $b;
    echo '<br>';

    // 03210 = 3* 8^3 + 2* 8^2 + 1* 8^1 + 0* 8^0 = 1536 + 128 + 8 + 0 = 1672
    $b = 03210;
    echo $b;// 1772   1672   1090 
    echo '<hr>';

    // 047 = 32 + 7 = 39
    $b = 047;
    echo $b;
    echo '<hr>';

    // $b = 048;
    // echo $b;
    // echo '<hr>';


    $b = 0b1010;
    echo $b;
    echo '<hr>';

    $b = 0b10101010;
    echo $b;
    echo '<hr>';

    //  2048  1024  512  256       128 64 32 16        8 4 2 1
    //  128 + 32 + 8 + 2 =


    //         256 + 64 + 32 + 16 + 1
    // $b = 0b  1  0111  0001;
    $b = 0b101110001;
    echo $b;
    echo '<hr>';

    // 512 - 1 - 128 
    // $b = 0b 1 0111 1111;
    $b = 0b101111111;
    echo $b;
    echo '<hr>';

    // 2047 - 512 - 16 = 1519 
    $b = 0b10111101111;
    echo $b;
    echo '<hr>';


    // a * 16^1 + b * 16^0 = 160 + 11
    $b = 0xab;
    echo $b;
    echo '<hr>';
------------------------------------------------------------
    // 浮点型 (保留13位, 四舍五入)
        $a = 1.1234567890123156789;
        echo $a;
        echo '<br>';

    // 科学计数法
        // 3e4 = 3 * 10^4
        $a = 3e4;
        echo $a;
        var_dump($a);

    // 
    $a = 0.1 + 0.2;  // 0.3000000000000000000000000004
    echo $a;
    echo '<br>';

    // 如果
    if( $a == 0.3 ){
        echo '相等';
    }else{
        echo '不相等';
    }


?>

猜你喜欢

转载自blog.csdn.net/jxl9910/article/details/80617209