Page 1 sur 1
Décomposition de la fonction BCD_TO_INT
Posté : 26 déc. 2015, 19:20
par itasoft
Slts,
Décomposition de la fonction BCD_TO_INT ,INT_TO_BCD à quoi ça sert ?
C’est dans les cas ou on à besoin de ces fonctions dans un langage qui n’en possède pas (ex :Script)
(* Valeur en BCD *)
Wbcd:=16#1234;
(* Valeur en binaire (INT) *)
Wint:=(Wbcd/4096)*1000
+((Wbcd REM 4096)/256)*100
+((Wbcd REM 256)/16)*10
+(Wbcd REM 16);
INT_TO_BCD
(* Valeur en INT *)
Wint:=1234;
(* Valeur en BCD *)
Wbcd:=(Wint/1000)*4096
+ ((Wint REM 1000)/100)*256
+ ((Wint REM 100)/10)*16
+ (Wint REM 10);
autres fonctions à faire
Re: Décomposition de la fonction BCD_TO_INT
Posté : 28 déc. 2015, 08:47
par Ashkore
Salut,
Je n'ai jamais vu ni entendu parler de ces fonctions, pourrais-tu nous préciser à quoi servent-elle ?
Ou du moins m'expliquer à quoi correspond une valeur en BCD.
Merci d'avance.
Re: Décomposition de la fonction BCD_TO_INT
Posté : 28 déc. 2015, 09:13
par itasoft
[attachment=0]__BCD.JPG[/attachment]
cliquer dessus pour agrandir la photo
Re: Décomposition de la fonction BCD_TO_INT
Posté : 28 déc. 2015, 09:50
par itasoft
suite,
pour faire ça, il faut d'abord convertir le mot en BCD avant de le copier sur les 16 sorties.
EX:
%MW0:=1234;
%Q2.0:16:=INT_TO_BCD(%MW0);
Re: Décomposition de la fonction BCD_TO_INT
Posté : 04 mars 2016, 14:38
par DavyQ
Bonjour,
aurais tu également la décomposition de la fonction INT_AS_DINT (utilisable sous Unity) ?
Merci d'avance.
Re: Décomposition de la fonction BCD_TO_INT
Posté : 04 mars 2016, 15:07
par philou77
Salut !
fonction INT_AS_DINT
C'est utilisé pour obliger UNITY à prendre une variable INT comme DINT
Donc une variable %MW 0 déclarée en INT sera interprétée comme %MW0 et %MW1 en Double INT !
Re: Décomposition de la fonction BCD_TO_INT
Posté : 04 mars 2016, 15:09
par itasoft
@davy
c'est expliqué sur l'aide en ligne de Unity, je peux pas faire mieux ni plus simple, lol
Re: Décomposition de la fonction BCD_TO_INT
Posté : 04 mars 2016, 16:51
par steph68
pour @ashkore :
https://fr.wikipedia.org/wiki/D%C3%A9ci ... A9_binaire
C'est utilisé pour obliger UNITY à prendre une variable INT comme DINT
Ne pas confondre INT_AS_DINT et INT_TO_DINT ...
la première fonction prend 2 INT en entrée (poids faible + poids fort) pour un DINT en sortie (= poids fort * 65536 + poids faible)
la deuxième prend un INT en entrée pour le convertir en DINT (extension du bit de signe)
@+