gen_tools.cpp

来自「《无线通信系统仿真——c++使用模型》这本书的源代码」· C++ 代码 · 共 51 行

CPP
51
字号
// gen_tools.cpp
//

#include "gen_tools.h"

int TrailingZeroCount(int value)
{
  int result=0;
  int work = value;
  int lsb = work & 0x1;

  while( lsb == 0)
    {
    result++;
    work >>=1;
    lsb = work & 0x1;
    }
  return( result);
}

int ActiveBitCount(int value)
{
  int num_trail_zeros;
  num_trail_zeros = TrailingZeroCount( value);

  int work = value >> num_trail_zeros;
  int result = 0;

  while( work != 0 )
    {
    result++;
    work >>= 1;
    }
  return(result);
}

int ReverseBits( int value, int num_bits)
{
  int work = value;
  int result =0;

  for(int i=0; i<num_bits; i++)
    {
    result <<=1;
    result |= (work & 0x1);
    work >>=1;
    }
  return(result);
}

⌨️ 快捷键说明

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