Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
EIS5 EIS6 EIS1 etc..
#11
Bonjour,

On Feb 18, 2:01 pm, "Chrisophe Bruchez" <i...@accessnight.ch> wrote:
> exemple ESI5 :
>
> $knxval = hex($val[0]) * 256 + hex($val[1]);
>
>         if (($knxval & 0x8000) != 0) { $sign = 1; } else { $sign = 0; }
>         $exp = ($knxval >> 11) & 0x0f;
>         $mant = $knxval & 0x07ff;
>
>         if ($sign != 0) {
>                 # 2-complement
>                 $mant -= 1;
>                 $mant = ($mant ^0x07ff) & 0x07ff;
>         }
>
>         $val = $mant * (2 ** $exp) * 0.01;
>
>         if ($sign != 0) { $val = -1 * $val; }

Juste par curiosité, et pour valider ma propre implémentation :
Pour 0x8000 le script ci-dessus renvoie la valeur 0.
Le résultat ne devrait-il pas être -20,48 ?


Messages dans ce sujet
EIS5 EIS6 EIS1 etc.. - par Chrystof - 18/02/2010, 10:59:30
EIS5 EIS6 EIS1 etc.. - par Mathieu Gallissot - 18/02/2010, 11:22:08
EIS5 EIS6 EIS1 etc.. - par Cyrille Demaret - 18/02/2010, 11:22:44
EIS5 EIS6 EIS1 etc.. - par Chrisophe Bruchez - 18/02/2010, 12:07:41
EIS5 EIS6 EIS1 etc.. - par Energy01 - 18/02/2010, 13:31:56
EIS5 EIS6 EIS1 etc.. - par Chrisophe Bruchez - 18/02/2010, 13:38:39
EIS5 EIS6 EIS1 etc.. - par marc.assin - 18/02/2010, 13:43:59
EIS5 EIS6 EIS1 etc.. - par Chrisophe Bruchez - 18/02/2010, 14:01:38
EIS5 EIS6 EIS1 etc.. - par DaGGeR - 19/02/2010, 13:08:59
EIS5 EIS6 EIS1 etc.. - par marc.assin - 19/02/2010, 13:50:30
EIS5 EIS6 EIS1 etc.. - par Pascal - 19/02/2010, 18:43:30
EIS5 EIS6 EIS1 etc.. - par alain - 19/02/2010, 21:27:17
EIS5 EIS6 EIS1 etc.. - par jef2000 - 19/02/2010, 21:43:52
EIS5 EIS6 EIS1 etc.. - par alain - 19/02/2010, 23:16:58
EIS5 EIS6 EIS1 etc.. - par Chrisophe Bruchez - 22/02/2010, 07:45:01

Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)