Les nombres

1. Les différentes classes

Comme nous l’avons vu précédemment, tous les nombres sont représentés par des objets. Observons les classes employées :

a=10
puts a.class
a=10.0
puts a.class 

Nous obtenons pour notre entier Fixnum et pour notre décimal Float.

Regardons maintenant la classe pour un nombre de grande taille en utilisant l’opérateur de puissance **.

a=10
puts ( a**100 ).class 

Nous obtenons maintenant une classe Bignum. Pour les décimaux, il n’y a pas de changement de classe, mais la valeur deviendra infini (Infinity).

Voici quelques représentations de nombre :

-10
3.14
10e15
0xFF
# Forme hexadécimale
-0b101
# Forme binaire
?a
# Numéro de caractère 

2. Fixnum

a. Opérateurs

Cette classe a pour parent Integer (elle-même ayant pour parent Numeric).

Voici la liste des opérateurs :

  • + : Addition

  • - : Soustraction

  • * : Multiplication

  • / : Division

  • % : Modulo

  • ** : Puissance

Des opérations binaires sont également disponibles par ces opérateurs :

  • ~ : Inversion de bits

  • | : Ou binaire

  • & : Et binaire|

  • ^ : Ou exclusif binaire (xor)

  • << : Décalage à gauche

  • >> : Décalage à droite

L’opérateur <=> sert à comparer deux entiers avec en retour -1, 0 ou +1 selon le résultat de la comparaison.

Exemple :

puts 1 <=> 2
puts 2 <=> 1
puts 1 <=> 1 

Nous obtenons en sortie :

-1
1
0 

b. Représentation interne

L’instruction...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Exercices
Suivant
Les expressions régulières