Bonjour
je cherche un algorithme permettant de faire les 2 opérations bitwise de base AND OR.
Je travaille sur des nombres décimaux et je dispose des 4 opérations de base ( + - * / )
Cordialement,
DKM
Version imprimable
Bonjour
je cherche un algorithme permettant de faire les 2 opérations bitwise de base AND OR.
Je travaille sur des nombres décimaux et je dispose des 4 opérations de base ( + - * / )
Cordialement,
DKM
[EDIT]
J'ai supprimé mon message parce que j'avais mal lu la question. Mais je persiste à dire que coder un ET/OU bitwise est stupide car l'opération est câblée en dur dans les unités arithmétiques et logiques des machines.
Donc c'est un exercice.
Donc on ne devrait pas donner de solution comme ça...
[/EDIT]
A partir de ces formules, on devrait s'en sortir :
Et aussi de ces fonctions :Code:
1
2
3
4
5
6
7
8
9 decimal d= MaValeur ; // les Valeurs dans tbit seront exclusivement égales à 0 ou 1 decimal [] tbit = new decimal [MaxDigits] ; // pour la conversion de d en tbit for (int i=0;i<MaxDigits;i++) { tbit=d-(d/2)*2 ; d=d/2 ; } // pour la conversion de tbit en d d=0 ; for (int i=MaxDigits-1;d>=0;i--) { d=2*d+tbit ; }
Ces formules s'appliquent pour des décimaux positifs.Code:
1
2
3 decimal And(decimal d1,decimal d2) { return d1+d2>1.999f ; } decimal Or (decimal d1,decimal d2) { return b1+b2>0 ; }
[i]Pour des décimaux négatifs, l'énoncé du problème est insuffisant.