struct::bitmap(u_int16) A
{
let a : bit [0..6]; // С 0го по 5ый бит вклюительно
let b : bit [6..10];
let c : bit [10..];
}
struct::bitmap - объявить структуру битмапа
u_int16 - говорит что это целое без знака в 16 бит
int::bit [0..6] массив из 6ти бит
struct::bitmap(u_int32) B
{
let a : bit [0..this.Type.size / 2];
let a : bit [this.Type.size / 2..this.Type.size];
}
Автоматически делить число 32 бит на 2 поля по пол размера.
struct::bitmap(u_int32) B
{
let a : bit::big_endian [auto];
}
Хранить в big emdian поле.
struct::bitmap(auto) C
{
@own:
let byte1 : u_int32;
let byte2 : u_int32;
@public:
let a : bit byte1[0..32] || byte2[0..16];
}
Объединить 2 переменных в одно поле.
struct::bitmap(u_int16) A
{
@own:
let a : bit [0..1];
let b : bit [1..10];
let c : bit [10..16];
@public:
let f : float::bit<sign = a, exp = b, mantiss = c>;
}
Полностью кастомное дробное с плавающей точкой.