bn_mp_count_bits.c

来自「tommath库」· C语言 代码 · 共 42 行

C
42
字号
#include <tommath.h>#ifdef BN_MP_COUNT_BITS_C/* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is a library that provides multiple-precision * integer arithmetic as well as number theoretic functionality. * * The library was designed directly after the MPI library by * Michael Fromberger but has been written from scratch with * additional optimizations in place. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org *//* returns the number of bits in an int */intmp_count_bits (mp_int * a){  int     r;  mp_digit q;  /* shortcut */  if (a->used == 0) {    return 0;  }  /* get number of digits and add that */  r = (a->used - 1) * DIGIT_BIT;    /* take the last digit and count the bits in it */  q = a->dp[a->used - 1];  while (q > ((mp_digit) 0)) {    ++r;    q >>= ((mp_digit) 1);  }  return r;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?