目次 - API(機能別) - ビット操作 - SDL_MostSignificantBitIndex32

SDL_MostSignificantBitIndex32

32bitの値で設定されている最上位のビットが何ビット目かを得る. これは底が2の対数と同じである.

構文

int SDL_MostSignificantBitIndex32(Uint32 x)

引数

x最上位ビットを得る数値

戻り値

最上位ビットが何ビット目かを戻す. xが0のとき-1を戻す.

サンプルコード

#include "SDL.h"
#include "SDL_bits.h"

int main(int argc, char *argv[]) {
  if (argc != 2) {
    SDL_Log("使い方: %s <数値", argv[0]);
    return 1;
  }
  int bitmask = SDL_atoi(argv[1]);
  if (bitmask < 0) {
    SDL_Log("数値は正である必要がある");
    return 1;
  }
  int index = SDL_MostSignificantBitIndex32(bitmask);
  SDL_Log("MSBは %d ビット目", index);
  return 0;
}

SDL Wikiへのリンク

SDL_MostSignificantBitIndex32 - SDL Wiki