Somme de deux nombres avec opérateur au niveau du bit

Je suis coller le code pour trouver la somme de deux nombres avec opérateur au niveau du bit. Veuillez indiquer, si elle peut être optimisée. Merci...

public static int getSum(int p, int q)
{
int carry=0, result =0;
for(int i=0; i<32; i++)
{
    int n1 = (p & (1<<(i)))>>(i); //find the nth bit of p
    int n2 = (q & (1<<(i)))>>(i); //find the nth bit of q

    int s = n1 ^ n2 ^ carry; //sum of bits
    carry = (carry==0) ? (n1&n2): (n1 | n2); //calculate the carry for next step
    result = result | (s<<(i)); //calculate resultant bit
}

return result;
}
  • Ne pas le faire. La Gigue optimisera pour vous déjà.
  • Si pour l'éducation, alors pourquoi avez-vous besoin d'optimisation? D'autre NE le faites PAS! comme @SLaks déjà dit.
  • pouvez-vous s'il vous plaît dites-moi quel est ce Gigue. Merci!!!
  • Je ne veux pas paraître impoli, mais si vous ne savez pas ce que le JIT est, vous n'avez rien à faire de bas niveau des optimisations de ce genre. Si vous voulez faire de votre programme courir plus vite, faire moins de travail. L'écriture de code comme celui-ci ne va pas aider et peut blesser.
  • en.wikipedia.org/wiki/Just-in-time_compilation
  • je le sais, mais confondre avec le mot de la Gigue!!! Mais de toute façon merci pour votre commentaire.
  • La réponse standard est beaucoup plus simple que cela. Voir stackoverflow.com/questions/4068033/...

InformationsquelleAutor Trying | 2013-03-10