cpp-ru / ideas

Идеи по улучшению языка C++ для обсуждения
https://cpp-ru.github.io/proposals
Creative Commons Zero v1.0 Universal
89 stars 0 forks source link

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

Open klappdev opened 10 months ago

klappdev commented 10 months ago

В С++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 типы для консистенстности к вещественным типам

apolukhin commented 4 months ago

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