Ierarhia claselor numerice în Ruby este următoarea:
Care tipuri numerice fac parte din biblioteca standard (nu din nucleul Ruby)?
678
Dacă rezultatul unei operații cu obiecte Bignum se poate reprezenta printr-un Fixnum, atunci respectivul rezultat este Fixnum.
1
În Ruby, obiectele numerice sunt mutabile?
2
În Ruby, obiectele BigDecimal memorează numerele:
În Ruby, literalii întregi se pot scrie cu caractere underscore („_”) intercalate, de exemplu 1_000_000.
Alegeți literalii scriși corect în alte baze de numerație:
13456
În exprimarea numerelor float, se pot folosi bazele de numerație:
3
În Ruby, literalii float se pot scrie cu caractere underscore („_”) intercalate, de exemplu 1_000_000.01
În Ruby, literalii float se pot scrie omițând partea întreagă, dacă este 0 (de exemplu: .134).
În Ruby, literalii float se pot scrie cu exponent folosind „e” sau „E”.
În Ruby, exponentul folosit în cadrul literalilor float poate fi doar număr întreg, pozitiv sau negativ.
În Ruby, exponentul folosit în cadrul literalilor float se folosește în evaluarea numărului prin înmulțire cu 10 la puterea exponent.
În Ruby, ca în majoritatea celorlalte limbaje, există riscul de „overflow” (depășirea limitelor) la operațiile aritmetice cu numere întregi.
În Ruby, toate cele 8 tipuri numerice definesc operatorii +, -, * și /.
În Ruby, există riscul ca rezultatul operațiilor cu numere Float să poată depăși domeniul maxim („overflow”)?
Dacă două numere sunt întregi, atunci rezultatul operației de împărțire este tot întreg, obținut prin trunchiere.
Dacă unul din operanzii unei împărțiri este Float, rezultatul este tot Float, chiar dacă este întreg.
Împărțirea unui întreg la 0 întoarce:
Împărțirea unui Float la 0 întoarce:
Împărțirea unui Float sau a unui număr întreg la 0.0 întoarce:
Împărțirea (0.0)/(0.0) întoarce:
În Ruby, restul împărțirii (modulo) se obține:
În Ruby, operația „modulo” se poate face și cu numere Float?
În Ruby, semnul restului de la operația „modulo” este:
În Ruby, comportamentul operației „modulo” din C și Java poate fi obținut cu următoarea metodă:
Operatorul de ridicare la putere este:
Doi operatori de ridicare la putere consecutivi (3**4**5) sunt evaluați:
Expresia 5[0]:
Numărul 0.1 se poate reprezenta exact în Float?
În Ruby, 0.4 - 0.3 == 0.1 întoarce:
Toate limbajele care folosesc reprezentarea în virgulă mobilă conform IEEE-754 (C, Java, JavaScript) nu pot reprezenta numărul 0.1.
Un număr float poate fi oricât de mare?