# Bit --- A sequence of bits that can fit into a general register ```text SIZE_FLAGS : BIT_ANY | BIT8 | BIT16 | BIT32 | BIT64 REPRESENTATION_FLAGS : NUMERIC | INT | INT_UNSIGNED | INT_SIGNED | FLOAT | UTF8 | UTF16 | UTF32 | BOOL Bit[[SIZE_FLAGS | REPRESENTATION_FLAGS]] ``` # Casting # Alias ```text Number `alias Bit[[BIT_ANT | NUMERIC]] Int `alias Bit[[BIT_ANY | INT]] Int_unsiged `alias Bit[[BIT_ANY | INT_UNSIGNED]] U8 `alias Bit[[BIT8 | INT_UNSIGNED]] U16 `alias Bit[[BIT16 | INT_UNSIGNED]] U32 `alias Bit[[BIT32 | INT_UNSIGNED]] U64 `alias Bit[[BIT64 | INT_UNSIGED]] Int_signed `alias Bit[[BIT_ANY | INT_SIGNED]] I8 `alias Bit[[BIT8 | INT_SIGNED]] I16 `alias Bit[[BIT16 | INT_SIGNED]] I32 `alias Bit[[BIT32 | INT_SIGNED]] I64 `alias Bit[[BIT64 | INT_SIGNED]] Float `alias Bit[[BIT_ANY | FLOAT]] F32 `alias Bit[[BIT32 | FLOAT]] F64 `alias Bit[[BIT64 | FLOAT]] Char `alias Bit[[BIT32 | UTF8]] Bool `alias Bit[[BIT8 | BOOL]] ``` # Operators ## Arithmetic ### Add `+` ### Sub `-` ### Mul `*` ### Div `/` ### Mod `%` ### ``exp` ### ``ln` ## Boolean ### ``true` ### ``false` ### Not `!` ### Equal `=` ### Not Equal `!=` ### And `&` ### Or `|` ### Greater `>` ### Greater Equal `>=` ### Less `<` ### Less Equal `<=` ## Bitwise ### ``bit_not` ### ``bit_and` ### ``bit_or` ### ``bit_xor` ### ``bit_ls` ### ``bit_rs` ## Other ### Compare `<=>`