PHP Doku:: Set bit - function.gmp-setbit.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzMathematische ErweiterungenGNU Multiple PrecisionGMP Funktionengmp_setbit

Ein Service von Reinhard Neidl - Webprogrammierung.

GMP Funktionen

<<gmp_scan1

gmp_sign>>

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbitSet bit

Beschreibung

void gmp_setbit ( resource $a , int $index [, bool $set_clear = true ] )

Sets bit index in a.

Parameter-Liste

a

The number being set to.

Dies kann entweder eine resource für einen GMP-Wert sein oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

index

The set bit.

set_clear

Defines if the bit is set to 0 or 1. By default the bit is set to 1. Index starts at 0.

Rückgabewerte

Eine resource für einen GMP-Wert.

Beispiele

Beispiel #1 gmp_setbit() example

<?php
$a 
gmp_init("0xfd");
gmp_setbit($a1); // index starts at 0
echo gmp_strval($a) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

255

Anmerkungen

Hinweis:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
bluej100@gmail
27.07.2007 18:07
The third parameter is somewhat confusingly named; it would probably be better described as "$set_state". If true, it sets the bit to 1. If false, it sets the bit to 0. Default is true.

<?php
$num
= gmp_init(1);
gmp_setbit($num, 1);
echo
'gmp_setbit(1, 1): '.gmp_strval($num, 2)."\n"; // 11

$num = gmp_init(1);
gmp_setbit($num, 1, true);
echo
'gmp_setbit(1, 1, true): '.gmp_strval($num, 2)."\n"; // 11

$num = gmp_init(1);
gmp_setbit($num, 0, false);
echo
'gmp_setbit(1, 0, false): '.gmp_strval($num, 2)."\n"; // 0
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)