2014-06-14 3 views
-1

Si j'avais une condition qui vérifie si elle est vraie, faites-le. Est-ce que ce serait différent si on vérifie si ce n'est pas faux et inversement? Cela prendrait-il moins de place si la vérification était booléenne plutôt que très basse? En Java, mais peut-être aussi d'autres langues.Est-ce que True utilise plus de mémoire que False?

boolean x; 
byte y,k,z,a; 
//x and k tests, y, z and a just assigned value if they pass any of these tests 
if(x==true){y=0;} if(x!=true){z=1} //Are these quicker or take less space 
if(x!=false){y=0;} if(x==false){z=1} //Than these ? 

if(k==1){a=2;} //Or these ? 
if(k!=1){a=2;} 
+0

Je suis assez sûr que la réponse est "non", peu importe la langue dont vous parlez qui a un compilateur/runtime décent, mais il serait utile de le réduire à une seule langue. –

+1

"if (x == true)" peut être raccourci à "if (x)" et "if (x! = True)" à "if (! X)". – Sam

Répondre

0

A l'exécution, l'espace occupé par une variable de type primitif (comme boolean) ne dépend pas de sa valeur.

Par conséquent, vous constaterez tout au plus une légère augmentation (quelques octets) de la taille du fichier de classe ou du code source. Puisque la classe et le fichier source ne sont stockés qu'une seule fois, une telle différence serait totalement négligeable. En ce qui concerne la vitesse d'exécution, il est probable que le compilateur optimisera cela, et même si ce n'est pas le cas du compilateur juste-à-temps. Et même si ce n'était pas le cas, la négation d'un booléen prend environ 1 ns (0.000000001 secondes), donc il est très improbable qu'il ait un impact mesurable sur la vitesse de votre programme.

Questions connexes