【发布时间】:2013-08-14 16:08:42
【问题描述】:
我正在使用 OpenSSL 的 BIGNUM 库,我需要在 if 语句中进行如下计算:
if (expo & 1)
我知道移位有函数。有没有对应这种操作的函数(其中expo是BIGNUM*)?如果没有,有没有办法做到这一点?
【问题讨论】:
标签: c openssl bit-manipulation bignum
我正在使用 OpenSSL 的 BIGNUM 库,我需要在 if 语句中进行如下计算:
if (expo & 1)
我知道移位有函数。有没有对应这种操作的函数(其中expo是BIGNUM*)?如果没有,有没有办法做到这一点?
【问题讨论】:
标签: c openssl bit-manipulation 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 库的更多信息,请访问here。
【讨论】: