Bit en java

Bonjour,

j'ai besoin d'adapté en java un code que je ne comprend pas:

#define bit ( x , i ) ( ( ( x ) & (1 << ( i ) ) ) ? 1 : 0 )

x et i sont des int.

quelqu'un peut-il m'aider ?

Merci d'avance.

1 réponse

  1. Modérateur
    Et bien, commence par comprendre ce code avant de vouloir l'adapter...
    Sinon tu fais copier-coller et tu débug.
    1. j'en suis a la :
      public static int bit( int x, int i)
      {
      if ( ( x ) & (1 << ( i ) ) )
      {
      return 1;
      }else
      {
      return 0;
      }
      }

      mai la condition n'ai pas reconnue
    2. Modérateur
      Rien n'empêchait de laisser l'opérateur ternaire plutôt que le remplacer par ton if.
      Le problème c'est que ta formule renvoie un entier et non un booléen En C ça ne pose pas de problème vu qu'il n'y a pas de booléen, 0 vaut false et tout le reste vaut true, mais en Java il faut que tu lui spécifie vraiment un booléen en faisant un test sur ton calcul.