首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_setbit - 设置位

描述

代码语言:javascript
复制
void gmp_setbit ( GMP &$a , int $index [, bool $bit_on = true ] )

设置位indexa

参数

a

要修改的值。

可以是PHP 5.5及更早版本中的GMP编号资源,PHP 5.6及更高版本中的GMP对象,也可以是数字字符串,前提是可以将后者转换为数字。

index

要设置的位的索引。索引0表示最低有效位。

bit_on

设置该位为真(将其设置为1 / on); 假清除该位(将其设置为0 /关闭)。

返回值

PHP 5.5及更早版本中的GMP编号资源,或PHP 5.6及更高版本中的GMP对象。

例子

示例#1 gmp_setbit()示例 - 0索引

代码语言:javascript
复制
<?php
$a?=?gmp_init("2");?//
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
gmp_setbit($a,?0);?//?0b10?now?becomes?0b11
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
2 -> 0b10
3 -> 0b11

示例#2 gmp_setbit()示例 - 1索引

代码语言:javascript
复制
<?php
$a?=?gmp_init("0xfd");
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
gmp_setbit($a,?1);?//?index?starts?at?0
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
253 -> 0b11111101
255 -> 0b11111111

示例#3 gmp_setbit()示例 - 清除一个位

代码语言:javascript
复制
<?php
$a?=?gmp_init("0xff");
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
gmp_setbit($a,?0,?false);?//?clear?bit?at?index?0
echo?gmp_strval($a),?'?->?0b',?gmp_strval($a,?2),?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
255 -> 0b11111111
254 -> 0b11111110

笔记

:不像其他大部分GMP功能,gmp_setbit()必须与已经存在(例如使用gmp_init())一个GMP资源调用。一个不会自动创建。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com