Kurso de Raku / Progresinta / Pli pri la enkonstruitaj tipoj / Denaskaj tipoj / Exercises / Ĉirkaŭvolvo

Solvo: Ĉirkaŭvolvo

Jen ebla solvo de la tasko.

Kodo

my uint8 $u = 250;
$u += 10;
say $u;

my uint8 $v = 0;
$v--;
say $v;

🦋 Vi povas trovi la fontkodon en la dosiero wrap-around.raku.

Eligo

4
255

Komentoj

  1. uint8 ampleksas de 0 ĝis 255, kio estas 256 apartaj valoroj. Aritmetiko sur ĝi estas efektive farata laŭ modulo 256.

  2. 250 + 10 estus 260, kio ne konvenas. Ĝi ĉirkaŭvolvas, atingante 260 - 256 = 4 preter la malsupro. Do superfluo ne limiĝas al transpasado de la supro je unu — ajna rezulto ekster la amplekso estas refaldita internen.

  3. En la alia direkto ankaŭ superfluiĝas: malpliigi 0 ne povas doni -1 en sensigna tipo, do ĝi ĉirkaŭvolvas al la maksimumo, 255.

Kursa navigado

Ĉirkaŭvolvo   |   Denaska tabelo