Skip to content

Битовые диапазоны фиксированной длины (1-8 бит) с контролем переполнения.

Notifications You must be signed in to change notification settings

AzizSuf/BitRangeTypesDemo

Repository files navigation

BitRangeTypes

Пример работы с битовыми диапазонами фиксированной длины (1-8 бит). Поддерживает беззнаковые (UBit) и знаковые (SBit) типы с проверкой на переполнение. Выбрасывает OverflowException при переполении.

Примеры:

// Беззнаковый тип (4 бита)
UBit<BitCount4> value = 10; // Допустимо: 0..15
byte result = value; // 10
// Знаковый тип (5 бит)
SBit<BitCount5> signedValue = -10; // Допустимо: -16..15
sbyte signedResult = signedValue; // -10
// Беззнаковый тип 3 бита (0..7)
UBit<BitCount3> value1 = 5;
Console.WriteLine(value1); // Выведет: 5

// Попытка выйти за пределы диапазона
try
{
    value1 = 10; // Допустимый диапазон: 0..7
}
catch (OverflowException)
{
    Console.WriteLine("Ошибка: значение за пределами диапазона.");
}

Диапазоны

Количество бит Беззнаковый диапазон (UBit) Знаковый диапазон (SBit)
1 бит 01 -10
2 бита 03 -21
3 бита 07 -43
4 бита 015 -87
5 бит 031 -1615
6 бит 063 -3231
7 бит 0127 -6463
8 бит 0255 -128127

About

Битовые диапазоны фиксированной длины (1-8 бит) с контролем переполнения.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages