|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
位操作函数 更多...
#include "NeForce/core/typeinfo/types.hpp"函数 | |
| constexpr int | neforce::popcount64 (uint64_t x) noexcept |
| 计算64位整数中1的个数 | |
| constexpr int | neforce::clz64 (uint64_t x) noexcept |
| 计算64位整数前导零的个数 | |
| constexpr int | neforce::popcount32 (const uint32_t x) noexcept |
| 计算32位整数中1的个数 | |
| constexpr int | neforce::clz32 (uint32_t x) noexcept |
| 计算32位整数前导零的个数 | |
| constexpr int | neforce::popcount (const uintptr_t x) noexcept |
| 计算整数中1的个数 | |
| constexpr int | neforce::countl_zero (const uintptr_t x) noexcept |
| 计算整数前导零的个数 | |
| constexpr int | neforce::countl_one (const uintptr_t x) noexcept |
| 计算整数前导1的个数 | |
| constexpr int | neforce::countr_zero (const uintptr_t x) noexcept |
| 计算整数尾随零的个数 | |
| constexpr int | neforce::countr_one (const uintptr_t x) noexcept |
| 计算整数尾随1的个数 | |
| constexpr int | neforce::lowest_set_bit_pos (const intptr_t x) noexcept |
| 获取最低设置位的位置,从0开始 | |
| constexpr int | neforce::highest_set_bit_pos (const intptr_t x) noexcept |
| 获取最高设置位的位置 | |
| constexpr bool | neforce::parity32 (uint32_t x) noexcept |
| 计算32位整数的奇偶性 | |
| constexpr bool | neforce::parity64 (uint64_t x) noexcept |
| 计算64位整数的奇偶性 | |
| constexpr bool | neforce::parity (const uintptr_t x) noexcept |
| 计算整数的奇偶性 | |
| constexpr int | neforce::bit_width (const uintptr_t x) noexcept |
| 计算表示整数所需的最小位宽 | |
| constexpr uintptr_t | neforce::bit_floor (const uintptr_t x) noexcept |
| 获取不大于x的最大2的幂 | |
| constexpr uint64_t | neforce::bit_ceil (const uintptr_t x) noexcept |
| 获取不小于x的最小2的幂 | |
| constexpr bool | neforce::has_single_bit (const uintptr_t x) noexcept |
| 检查整数是否为2的幂 | |
| constexpr uint32_t | neforce::rotate_l32 (const uint32_t x, const int s) noexcept |
| 32位整数循环左移 | |
| constexpr uint32_t | neforce::rotate_r32 (const uint32_t x, const int s) noexcept |
| 32位整数循环右移 | |
| constexpr uint64_t | neforce::rotate_l64 (const uint64_t x, const int s) noexcept |
| 64位整数循环左移 | |
| constexpr uint64_t | neforce::rotate_r64 (const uint64_t x, const int s) noexcept |
| 64位整数循环右移 | |
| constexpr uintptr_t | neforce::rotate_l (const uintptr_t x, const int s) noexcept |
| 整数循环左移 | |
| constexpr uintptr_t | neforce::rotate_r (const uintptr_t x, const int s) noexcept |
| 整数循环右移 | |
| constexpr uintptr_t | neforce::bit_extract (const uintptr_t x, const int pos, const int len) noexcept |
| 从整数中提取指定位段 | |
| constexpr uintptr_t | neforce::bit_insert (const uintptr_t x, const uintptr_t bits, const int pos, const int len) noexcept |
| 向整数中插入指定位段 | |
| constexpr uint32_t | neforce::reverse_bits32 (uint32_t x) noexcept |
| 反转32位整数的位顺序 | |
| constexpr uint64_t | neforce::reverse_bits64 (uint64_t x) noexcept |
| 反转64位整数的位顺序 | |
| constexpr uintptr_t | neforce::reverse_bits (const uintptr_t x) noexcept |
| 反转整数的位顺序 | |
| constexpr uintptr_t | neforce::mask_from_to (const int from, const int to) noexcept |
| 生成从from到to的位掩码 | |