我正在使用 OpenSSL 的 BIGNUM 库,我需要在 if 语句中进行计算,如下所示:
if (expo & 1)
我知道移位有功能。是否有对应于这种操作的函数(expo
a在哪里BIGNUM*
)?如果没有,有没有办法做到这一点?
我正在使用 OpenSSL 的 BIGNUM 库,我需要在 if 语句中进行计算,如下所示:
if (expo & 1)
我知道移位有功能。是否有对应于这种操作的函数(expo
a在哪里BIGNUM*
)?如果没有,有没有办法做到这一点?
您正在寻找的功能是:
bool BN_is_bit_set( const BIGNUM *a, int n );
...它的行为与按位运算符完全相同AND
。例如,要查看最右边的位是否打开,我将调用该函数,如下所示:
bool is_set = BN_is_bit_set( ptr_my_bignum, 0x1 );
...注意我的面具是0x1
(这意味着1
二进制)。可以在此处找到有关 BIGNUM 库的更多信息。