ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Добавить std::int128_t, std::uint128_t типы

Open klappdev opened this issue 2 years ago • 1 comments

В С++23 были добавленны вещественные типы фиксированого размера.

#include <stdfloat>

bfloat16_t bf16 = 10.0bf16;
float16_t f16 = 20.0f16;
float32_t f32 = 30.0f32;
float64_t f64 = 40.0f64;
float128_t f128 = 50.0f128;

https://en.cppreference.com/w/cpp/types/floating-point

В С++11 ранее были добавлены целочисленные типы фиксированного размера.

#include <cstdint>

std::int64_t i64 = 10;

https://en.cppreference.com/w/cpp/types/integer

Но типы std::int128_t, std::uint128_t не были добавлены. Большенство компиляторов поддерживаю в виде расширения int128_t и uint128_t. Также boost поддерживает работу с такими типами.

Предлагается добавить в std::int128_t и std::uint128_t типы для консистенстности к вещественным типам

klappdev avatar Aug 24 '23 13:08 klappdev

В стандарт C добавили _BitInt. Надеюсь что в ближайшее время этот тип данных попадёт и в C++, вместе чо всеми нужными расширениями для стандартной библиотеки

apolukhin avatar Feb 23 '24 15:02 apolukhin