当前位置:首页 » 编程语言 » php进位

php进位

发布时间: 2023-08-28 04:45:09

php语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜

"&" 按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。

例如:9&5可写算式如下:

00001001 (9的二进制补码)

&00000101 (5的二进制补码)

00000001 (1的二进制补码)

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a&$b);
?>

"|" 按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。

例如:9|5可写算式如下:

00001001

|00000101

00001101 (十进制为13)可见9|5=13

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二进制
echo sprintf("%d", $a|$b)."\n"; //十进制

"^" 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:

00001001

^00000101

00001100 (十进制为12)

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二进制
echo sprintf("%d", $a^$b)."\n"; //十进制

"~" 求反运算
求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。

例如~9的运算为:

~(0000000000001001)结果为:1111111111110110

<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二进制

"〈〈" 左移运算
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。

例如:

a<<4

指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。

<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十进制

“>>” 右移运算
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例如:

设 a=48,

a>>4

表示把00110000右移为00000011(十进制3)。

应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定

<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十进制

⑵ 在PHP中怎么取小数点后的位数,如:23.43453 要保留两位小数怎么取

round(23.43453,2);
四舍五入保留小数点后两位

⑶ PHP non-thread-safe和thread-safe这两个版本的区别

PHP5 non-thread-safe和thread-safe的区别
从PHP5.2.10版本开始(现在有PHP5.2.10和5.3两个版本),有None-Thread Safe与Thread Safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?
先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;
Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
再来看PHP的两种执行方式:ISAPI和FastCGI。
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(搭配IIS)执行 PHP ,都建议下载执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP(搭配apache)。
如果你还搞不清楚,那么只需知道你是php+apache还是php+iis组合
non-thread-safe 非 线程安全与IIS搭配环境
thread-safe 线程安全 与apache搭配环境

另外php还有VC6 VC9版本区分
VC6和VC9一个支持apache一个支持IIS
VC9用在apache上也没问题,如果你用iis就必须用vc9的,如果你用apache vc6和vc9都可以用。

⑷ PHP中echo 12 ^ 9;得出的结果是什么谁能给我个完美的解释。PHP新手这边有礼了~~0.0

对,这是"^" 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1,反之结果为0;
使用sprintf 打印出 12 和 9 的二进制。结果为
1100和1001
--------------------------
运算过程 :从左到右
第一位都是1 那么得 0
第二位相异 得 1
第三位都是0 得 0
第四位相异 得 1
那么结果就是0101
转化为十进制~就是5了。

⑸ 批处理 php 二进制进位算法

//算法分析:我们想要实现的是数字相加,每位数的最大值为4,超过4进1位,即5进制。
//如果,数字的最后一位不等于4,那么直接相加并输出;如果最后一位是4,将这一位置1,并且进位1
//进位的1必须跟前面的数字进行相加,这就形成了一个递归,递归的条件是最后一位等于4
//为了跟前面的数字进行相加,我们必须先对原数字进行截取,比如数字1114,进位后应该得到1121
//代码是这样处理的:先把4置1,然后截取111,递归过程中执行111+1=112,然后返回112,并更上一次递归中得到的和的最后一位
//拼接成一个新的字符串:1121

热点内容
笔记本电脑如何设置锁屏密码 发布:2025-02-04 13:54:42 浏览:161
构成c语言程序的基本单位 发布:2025-02-04 13:49:53 浏览:988
如何修改已经更改的密码 发布:2025-02-04 13:38:38 浏览:773
唐dm2021买哪个配置划算 发布:2025-02-04 13:38:38 浏览:627
真空压缩重 发布:2025-02-04 13:38:37 浏览:640
alias脚本 发布:2025-02-04 13:38:03 浏览:739
linux终端字符 发布:2025-02-04 12:52:40 浏览:737
c语言程序设计mobi 发布:2025-02-04 12:51:55 浏览:260
rsa算法c语言 发布:2025-02-04 12:50:36 浏览:785
阿里云服务器托管破解 发布:2025-02-04 12:47:43 浏览:258