【问题标题】:OpenSSL BIGNUM — is there a bitwise & function?OpenSSL BIGNUM — 有按位 & 函数吗?
【发布时间】:2013-08-14 16:08:42
【问题描述】:

我正在使用 OpenSSL 的 BIGNUM 库,我需要在 if 语句中进行如下计算:

if (expo & 1)

我知道移位有函数。有没有对应这种操作的函数(其中expoBIGNUM*)?如果没有,有没有办法做到这一点?

【问题讨论】:

    标签: c openssl bit-manipulation bignum


    【解决方案1】:

    你要找的功能是:

    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

    【讨论】:

    • 位的编号是从0还是1?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多