NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
uint128_t结构体 参考

128位无符号整数类型 更多...

#include <int128.hpp>

类 uint128_t 继承关系图:
[图例]

Public 成员函数

constexpr uint128_t (const int32_t low) noexcept
 从32位有符号整数构造
constexpr uint128_t (const uint32_t low) noexcept
 从32位无符号整数构造
constexpr uint128_t (const unsigned long low) noexcept
 从无符号 long 构造
constexpr uint128_t (const unsigned long long low) noexcept
 从无符号 long long 构造
constexpr uint128_t (const uint64_t high, const uint64_t low) noexcept
 从高低64位构造
constexpr uint128_t (const string &str, int base=10)
 从字符串构造
constexpr uint128_t (string_view str, int base=10)
 从字符串视图构造
constexpr int128_t to_int128 () const noexcept
 转换为有符号128位整数
constexpr bool equal_to (const uint128_t &rhs) const noexcept
 相等比较
constexpr bool less_than (const uint128_t &rhs) const noexcept
 小于比较
constexpr uint128_t operator- () const noexcept
 取负
uint128_toperator+= (const uint128_t &other) noexcept
 加法赋值
uint128_toperator-= (const uint128_t &other) noexcept
 减法赋值
uint128_toperator*= (const uint128_t &other) noexcept
 乘法赋值
uint128_toperator/= (const uint128_t &other)
 除法赋值
uint128_toperator%= (const uint128_t &other)
 取模赋值
uint128_toperator++ () noexcept
 前置自增
uint128_toperator-- () noexcept
 前置自减
constexpr uint128_t operator~ () const noexcept
 按位取反
constexpr uint128_toperator&= (const uint128_t &other) noexcept
 按位与赋值
constexpr uint128_toperator|= (const uint128_t &other) noexcept
 按位或赋值
constexpr uint128_toperator^= (const uint128_t &other) noexcept
 按位异或赋值
constexpr uint128_toperator<<= (const uint32_t shift) noexcept
 左移赋值
constexpr uint128_toperator>>= (const uint32_t shift) noexcept
 右移赋值
uint64_t div64 (uint64_t divisor, uint64_t *remainder=nullptr) const
 64位除法
constexpr size_t to_hash () const noexcept
 计算哈希值
constexpr string to_string () const
 转换为字符串
Public 成员函数 继承自 icomparable< uint128_t >
constexpr bool operator== (const uint128_t &rhs) const noexcept(noexcept(derived().equal_to(rhs)))
 相等比较运算符
constexpr bool operator!= (const uint128_t &rhs) const noexcept(noexcept(!(derived().equal_to(rhs))))
 不等比较运算符
constexpr bool operator< (const uint128_t &rhs) const noexcept(noexcept(derived().less_than(rhs)))
 小于比较运算符
constexpr bool operator> (const uint128_t &rhs) const noexcept(noexcept(rhs.less_than(derived())))
 大于比较运算符
constexpr bool operator<= (const uint128_t &rhs) const noexcept(noexcept(!(rhs.less_than(derived()))))
 小于等于比较运算符
constexpr bool operator>= (const uint128_t &rhs) const noexcept(noexcept(!(derived().less_than(rhs))))
 大于等于比较运算符
Public 成员函数 继承自 ihashable< uint128_t >
constexpr size_t to_ihash () const noexcept(noexcept(derived().to_hash()))
 获取对象的哈希值
Public 成员函数 继承自 iarithmetic< uint128_t >
constexpr uint128_t operator+ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator+=(other)))
 加法运算符
constexpr uint128_t operator- (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator-=(other)))
 减法运算符
constexpr uint128_t operator* (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator*=(other)))
 乘法运算符
constexpr uint128_t operator/ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator/=(other)))
 除法运算符
constexpr uint128_t operator% (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator%=(other)))
 取模运算符
constexpr uint128_toperator+= (const uint128_t &other) noexcept(noexcept(derived().operator+=(other)))
 加法赋值运算符
constexpr uint128_toperator-= (const uint128_t &other) noexcept(noexcept(derived().operator-=(other)))
 减法赋值运算符
constexpr uint128_toperator*= (const uint128_t &other) noexcept(noexcept(derived().operator*=(other)))
 乘法赋值运算符
constexpr uint128_toperator/= (const uint128_t &other)
 除法赋值运算符
constexpr uint128_toperator%= (const uint128_t &other)
 取模赋值运算符
constexpr uint128_toperator++ () noexcept(noexcept(derived().operator++()))
 前置自增运算符
constexpr uint128_toperator-- () noexcept(noexcept(derived().operator--()))
 前置自减运算符
Public 成员函数 继承自 ibinary< uint128_t >
constexpr uint128_t operator& (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator&=(other)))
 按位与运算符
constexpr uint128_t operator| (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator|=(other)))
 按位或运算符
constexpr uint128_t operator^ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator^=(other)))
 按位异或运算符
constexpr uint128_t operator~ () const noexcept(noexcept(derived().operator~()))
 按位取反运算符
constexpr uint128_t operator<< (const uint32_t shift) const
 左移运算符
constexpr uint128_t operator>> (const uint32_t shift) const
 右移运算符
constexpr uint128_toperator&= (const uint128_t &other) noexcept(noexcept(derived().operator&=(other)))
 按位与赋值运算符
constexpr uint128_toperator|= (const uint128_t &other) noexcept(noexcept(derived().operator|=(other)))
 按位或赋值运算符
constexpr uint128_toperator^= (const uint128_t &other) noexcept(noexcept(derived().operator^=(other)))
 按位异或赋值运算符
constexpr uint128_toperator<<= (const uint32_t shift)
 左移赋值运算符
constexpr uint128_toperator>>= (const uint32_t shift)
 右移赋值运算符
Public 成员函数 继承自 iobject< uint128_t >
constexpr bool try_parse (const string_view str) noexcept
 尝试从字符串解析对象
Public 成员函数 继承自 istringify< uint128_t >
constexpr string to_string () const
 转换为字符串

静态 Public 成员函数

static uint128_t mul64 (uint64_t a, uint64_t b) noexcept
 64位乘法
static constexpr uint128_t parse (const string_view view)
 从字符串解析
static constexpr uint128_t min () noexcept
 获取最小值
static constexpr uint128_t max () noexcept
 获取最大值
静态 Public 成员函数 继承自 iobject< uint128_t >
static constexpr uint128_t parse (const string_view str)
 从字符串解析对象

Public 属性

uint64_t lo {0}
 低64位
uint64_t hi {0}
 高64位

详细描述

128位无符号整数类型

在文件 int128.hpp39 行定义.

构造及析构函数说明

◆ uint128_t() [1/7]

uint128_t::uint128_t ( const int32_t low)
inlineconstexprnoexcept

从32位有符号整数构造

参数
low低32位值

在文件 int128.hpp51 行定义.

引用了 hi , 以及 lo.

◆ uint128_t() [2/7]

uint128_t::uint128_t ( const uint32_t low)
inlineconstexprnoexcept

从32位无符号整数构造

参数
low低32位值

在文件 int128.hpp59 行定义.

引用了 lo.

◆ uint128_t() [3/7]

uint128_t::uint128_t ( const unsigned long low)
inlineconstexprnoexcept

从无符号 long 构造

参数
low无符号 long 值

在文件 int128.hpp66 行定义.

引用了 lo.

◆ uint128_t() [4/7]

uint128_t::uint128_t ( const unsigned long long low)
inlineconstexprnoexcept

从无符号 long long 构造

参数
low无符号 long long 值

在文件 int128.hpp73 行定义.

引用了 lo.

◆ uint128_t() [5/7]

uint128_t::uint128_t ( const uint64_t high,
const uint64_t low )
inlineconstexprnoexcept

从高低64位构造

参数
high高64位
low低64位

在文件 int128.hpp81 行定义.

引用了 hi , 以及 lo.

◆ uint128_t() [6/7]

uint128_t::uint128_t ( const string & str,
int base = 10 )
inlineexplicitconstexpr

从字符串构造

参数
str数字字符串
base进制基数(默认10)
异常
typecast_exception字符串格式无效时抛出

在文件 int128.hpp96 行定义.

◆ uint128_t() [7/7]

uint128_t::uint128_t ( string_view str,
int base = 10 )
explicitconstexpr

从字符串视图构造

参数
str数字字符串视图
base进制基数(默认10)
异常
typecast_exception字符串格式无效时抛出

在文件 int128.hpp827 行定义.

引用了 to_uint128().

成员函数说明

◆ div64()

uint64_t uint128_t::div64 ( uint64_t divisor,
uint64_t * remainder = nullptr ) const

64位除法

参数
divisor除数
remainder输出余数
返回

引用了 remainder().

◆ mul64()

uint128_t uint128_t::mul64 ( uint64_t a,
uint64_t b )
staticnoexcept

64位乘法

参数
a第一个乘数
b第二个乘数
返回
128位乘积

◆ operator%=()

uint128_t & uint128_t::operator%= ( const uint128_t & other)

取模赋值

异常
math_exception除数为0时抛出

◆ operator-()

uint128_t uint128_t::operator- ( ) const
inlineconstexprnoexcept

取负

返回
二补数结果

在文件 int128.hpp140 行定义.

引用了 hi , 以及 lo.

◆ operator/=()

uint128_t & uint128_t::operator/= ( const uint128_t & other)

除法赋值

异常
math_exception除数为0时抛出

◆ operator<<=()

uint128_t & uint128_t::operator<<= ( const uint32_t shift)
inlineconstexprnoexcept

左移赋值

参数
shift移位量

在文件 int128.hpp225 行定义.

引用了 hi , 以及 lo.

◆ operator>>=()

uint128_t & uint128_t::operator>>= ( const uint32_t shift)
inlineconstexprnoexcept

右移赋值

参数
shift移位量

在文件 int128.hpp248 行定义.

引用了 hi , 以及 lo.

◆ parse()

constexpr uint128_t uint128_t::parse ( const string_view view)
inlinestaticconstexpr

从字符串解析

参数
view字符串视图
返回
解析结果
异常
typecast_exception字符串格式无效时抛出

在文件 int128.hpp299 行定义.

◆ to_int128()

int128_t uint128_t::to_int128 ( ) const
nodiscardconstexprnoexcept

转换为有符号128位整数

返回
有符号128位整数

在文件 int128.hpp645 行定义.

引用了 hi , 以及 lo.

◆ to_string()

string uint128_t::to_string ( ) const
nodiscardconstexpr

转换为字符串

返回
十进制字符串表示

在文件 int128.hpp621 行定义.


该结构体的文档由以下文件生成: