BN_SET_BIT(3ssl) | OpenSSL | BN_SET_BIT(3ssl) |
NUME
BN_set_bit, BN_clear_bit, BN_is_bit_set, BN_mask_bits, BN_lshift, BN_lshift1, BN_rshift, BN_rshift1 - operații de bit pe BIGNUM-uri
SINOPSIS
#include <openssl/bn.h> int BN_set_bit(BIGNUM *a, int n); int BN_clear_bit(BIGNUM *a, int n); int BN_is_bit_set(const BIGNUM *a, int n); int BN_mask_bits(BIGNUM *a, int n); int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); int BN_lshift1(BIGNUM *r, BIGNUM *a); int BN_rshift(BIGNUM *r, BIGNUM *a, int n); int BN_rshift1(BIGNUM *r, BIGNUM *a);
DESCRIERE
BN_set_bit() stabilește bitul n din a la 1 ("a|=(1<<n)"). Numărul este extins dacă este necesar.
BN_clear_bit() stabilește bitul n din a la 0 ("a&=~(1<<n)"). O eroare apare dacă a este mai scurt decât n biți.
BN_is_bit_set() testează dacă bitul n din a este definit.
BN_mask_bits() trunchiază a la un număr de biți n ("a&=~((~0)<<n)"). O eroare apare dacă n este negativ. O eroare este de asemenea returnată dacă reprezentarea internă a lui a este deja mai scurtă decât n biți. Reprezentarea internă depinde de dimensiunea de cuvânt a platformei, iar această eroare poate fi ignorată în siguranță. Utilizați BN_num_bits(3) pentru a determina numărul exact de biți, dacă este necesar.
BN_lshift() deplasează a la stânga cu n biți și plasează rezultatul în r ("r=a*2^n")). Rețineți că n trebuie să fie nenegativ. BN_lshift1() deplasează a la stânga cu o unitate și plasează rezultatul în r ("r=2*a").
BN_rshift() deplasează a la dreapta cu n biți și plasează rezultatul în r ("r=a/2^n")). Rețineți că n trebuie să fie nenegativ. BN_rshift1() deplasează a la dreapta cu o unitate și plasează rezultatul în r ("r=a/2").
Pentru funcțiile de deplasare, r și a pot fi aceeași variabilă.
VALORI RETURNATE
BN_is_bit_set() returnează 1 dacă bitul este definit, 0 în caz contrar.
Toate celelalte funcții returnează 1 pentru succes, 0 pentru eroare. Codurile de eroare pot fi obținute prin ERR_get_error(3).
CONSULTAȚI ȘI
DREPTURI DE AUTOR
Drepturi de autor 2000-2024 The OpenSSL Project Authors. Toate drepturile rezervate.
Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la https://www.openssl.org/source/license.html.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
5 august 2025 | 3.5.2 |