FreeABC
记忆重叠

PHP基础之进制的转换

<?php 

//十进制
echo 123 . "<br />";

//八进制转换十进制
echo 0123,'<br />';  // 3*1 + 2*8 + 1*64 = 83;
echo 027,'<br />';   // 1*7 + 2*8 = 23;
echo 0222,"<br />"; // 2*1 + 2*8 +2*64 = 146;

//十六进制转换十进制
echo 0x123,'<br />'; // 3*1+2*16+1*256=291;
echo 0x1c,'<br />'; //  28

echo 0x321."<br />";    //1*1 + 2*16 + 3*256 = 801;
echo 0xa3b4."<br />";   //4*1 + 11+16 + 3*256+ 10*4096 = 41908;

//二进制,PHP不支持直接表示
//
/*
10进制     =>     2进制              16进制    =>     2进制
    255       1111 1111             
    -1        1111 1111
    0         0000 0000             0         0000 0000
    1         0000 0001             1         0000 0001
    2         0000 0010             2         0000 0010
    3         0000 0011             3         0000 0011
    4         0000 0100             4         0000 0100
    5         0000 0101             5         0000 0101
    6         0000 0110             6         0000 0110
    7         0000 0111             7         0000 0111
    8         0000 1000             8         0000 1000
    9         0000 1001             9         0000 1001
    10        0000 1010             A         0000 1010
    11        0000 1011             B         0000 1011
    12        0000 1100             C         0000 1100
    13        0000 1101             D         0000 1101
    14        0000 1110             E         0000 1110
    15        0000 1111             F         0000 1111

在二进制中,8个1,可以理解为255,也可以理解成-1。
具体取什么数,在于你程序怎么理解。
如mysql中,int理解为-1,unsigned int理解为255.
*/

?>

 

未经允许不得转载:Free-Abc智能 » PHP基础之进制的转换
分享到: 更多 (0)