Nombre entier (int, entier signé sur 16 bits)
Les nombres entiers de type « INT » sont codés sur 16 bits, soit un Word.
Le bit de poids fort (bit 15) est utilisé pour indiquer si le nombre est positif ou négatif.
Si le bit 15 = 0 => nombre positif
Si le bit 15 = 1 => nombre négatif
Remarque : le nombre négatif est obtenu en appliquant la méthode du complément à 2
Exemple d’utilisation avec un nombre entier positif:
Exemple d’utilisation d’un nombre entier positif:
Nombre entier le plus grand
Positif : 0111 1111 1111 1111, soit 7FFF, soit + 32767
Négatif : 1111 1111 1111 1111, soit 8000, soit – 32767
Nombre double entier (DINT, entier signé sur 32bits)
Les nombres entiers double de type « DINT » sont codés sur 32 bits, soit un Double Word.
Exemple : 12375610 =>
Le bit de poids fort (bit 31) est utilisé pour indiquer si le nombre est positif ou négatif.
Si le bit 31 = 0 => nombre positif
Si le bit 31 = 1 => nombre négatif
Exemple : - 12375610 =>
Remarque : le nombre négatif est obtenu en appliquant la méthode du complément à 2
Exemple d’utilisation avec un nombre entier positif:
Charge la valeur 123756 dans la mémoire MD10
Exemple d’utilisation d’un nombre entier positif:
Charge la valeur - 123756 dans la mémoire MD14
Nombre double entier le plus grand
Positif : 0111 1111 1111 1111 1111 1111 1111 1111, soit 7FFF FFFF, soit +214748364710
Négatif : 1000 0000 0000 0000 0000 0000 0000 0000, soit 8000 0000, soit -214748364810
Transfert d'un nombre move
L’opération MOVE permet de copier un nombre. Il est possible de copier une entrée vers une sortie, une entrée vers une mémoire, une mémoire vers une sortie ou encore une mémoire vers une mémoire.
Transfert d’un byte
Exemple : IB0 vers MB10
Transfert d’un entier
Exemple : IW0 vers MW10
Transfert d’un double entier
Exemple : ID0 vers MD10
Transfert de nombre ayant des tailles différentes
Il est possible de copier des nombres ayant des tailles différentes pour autant que la mémoire de destination soit égale ou plus grande
Exemples :
Remarque : Il n’est pas possible de copier un nombre d’une taille plus grande que la mémoire de destination.
Exemple : Le transfert de IW0 => MB10 n’est par exemple pas possible !
>
Choix du format du nombreAprès avoir choisi l’opération de base, le format du nombre doit être déterminé :
Le format du nombre, entier ou double entier va définir le format du nombre de sortie
Opération de comparaison sur les nombres entier
Les opérations de comparaisons permettent de comparer 2 nombres entier ou double entier.
Si « Nombre 1 » > « Nombre 2 » la sortie « Etat » passe à « 1 », sinon elle reste à « 0 »
Opérations de base sur les nombres entiers ou double entier
Addition : ADD
Soustraction : SUB
Multiplication : Mul
Division : Div
Choix du format du nombreAprès avoir choisi l’opération de base, le format du nombre doit être déterminé :
- « Int » pour un entier
- « DInt » pour un double entier
Conversion binaire ó BCD
Le format du nombre, entier ou double entier va définir le format du nombre de sortie
Conversion binaire entier ó BCD
Conversion binaire double entier ó BCD
Conversion BCD => double entier
Conversion Nombre entier en double entier
Parfois il est nécessaire de « transformer » un nombre entier en un nombre double entier.
Par exemple pour le comparer avec un autre nombre au format double entier.
Conversion entier => double entier