Kurzusok
/
Cairo
Cairo
/
Tanterv
/
Egész számok
Eg

Egész számok ebben a kurzusban: Cairo

1 feladat

A(z) Egész számok fogalomról

Az integer olyan szám, amelynek nincs tört része. A Cairoban az egész számok típusdeklarációja megadja, hogy a programozó hány bitet használhat az érték tárolására.

Az előjel nélküli egész számok csak pozitív számokat és a 0-t (nullát) tudják ábrázolni, ami bizonyos programozási helyzetekben előnyös lehet, például tömbindexelésnél és memóriakezelésnél.

A Cairo az előjeles egész számokat is támogatja, amelyek az i előtaggal kezdődnek. Ezek a számok pozitív és negatív értékeket egyaránt ábrázolhatnak, méretük pedig az i8-tól az i128-ig terjed. Minden előjeles változat a $-2^{n-1}$ és a $2^{n-1} - 1$ közötti számokat tárolhatja, a végpontokat is beleértve, ahol $n$ a változat által használt bitek száma. Például egy i8 a $-2^7$ és a $2^7 - 1$ közötti számokat tárolhatja, ami $-128$ és $127$ közötti értéket jelent.

Hossz Előjel nélküli Előjeles
8 bites u8 i8
16 bites u16 i16
32 bites u32 i32
64 bites u64 i64
128 bites u128 i128
256 bites u256 ------

Létezik egy usize nevű különleges egész számtípus is, amely jelenleg csupán a u32 aliasa. Ez a típus a jövőben talán önállóbb szerepet kap, ha majd a Cairo lefordítható lesz MLIR-re (Multi-Level Intermediate Representation).

Egész szám literálok a Cairoban

Az egész szám literálokat az alábbi táblázatban látható formák bármelyikében leírhatod. Vedd figyelembe, hogy azoknál a szám literáloknál, amelyek több numerikus típushoz is tartozhatnak, megadhatsz típusutótagot, például 57_u8, hogy jelezd a típust. Szám literáloknál vizuális elválasztót (_) is használhatsz, hogy javítsd a kód olvashatóságát.

Numerikus literálok Példa
Decimális 98222
Hexadecimális 0xff
Oktális 0o04321
Bináris 0b01

Na de honnan tudod, melyik egész számtípust használd? Próbáld megbecsülni, hogy legfeljebb mekkora értéket vehet fel az int, és válaszd a megfelelő méretet. A usize-t elsősorban valamilyen gyűjtemény indexelésekor használod.

Numerikus műveletek

A Cairo minden egész számtípusnál támogatja azokat az alapvető matematikai műveleteket, amelyeket elvárnál: összeadás, kivonás, szorzás, osztás és maradékképzés. Az egész osztás nullafelé csonkol a legközelebbi egész számig. Az alábbi kód megmutatja, hogyan használnád az egyes numerikus műveleteket egy let utasításban:

fn main() {
    // addition
    let sum = 5_u128 + 10_u128;

    // subtraction
    let difference = 95_u128 - 4_u128;

    // multiplication
    let product = 4_u128 * 30_u128;

    // division
    let quotient = 56_u128 / 32_u128; // result is 1
    let quotient = 64_u128 / 32_u128; // result is 2

    // remainder
    let remainder = 43_u128 % 5_u128; // result is 3
}

Ezekben az utasításokban minden kifejezés egy matematikai operátort használ, és egyetlen értékké értékelődik ki, amelyet aztán egy változóhoz kötünk.

A Cairo összes operátorának listáját a The Cairo Book című könyvben találod.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Egész számok fogalmat

A gyakorlás zárolva

Oldj fel még 2 feladatot, hogy gyakorolhasd a(z) Egész számok fogalmat