Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   Prüfen ob Zahl ungerade (https://www.tweakpc.de/forum/programmiersprachen/41956-pruefen-ob-zahl-ungerade.html)

squier 27.10.2006 16:30

Prüfen ob Zahl ungerade
 
Hi,
ich habe neulich eine mir völlig neue Variante gefunden, ob eine Zahl ungerade ist (also nicht über n%2==1 oder so).
So: if ( (n & 1) == 1 ) // n ungerade?, dann weiter mit if-Bed.

Kann mir einer vielleicht erklären, wie das geht??
Es ist doch: (n UND 1) == 1, aber was ist wenn n=3 oder so, dann steht da:
(3 UND 1)==1, aber das ist doch falsch.
Sorry, wenn das für euch offensichtlich ist, aber ich glaube ich habe gerade einen Blackout.
Fakt ist, der Ausdruck ist richtig.

Gruß

tele 27.10.2006 16:38

AW: Prüfen ob Zahl ungerade
 
wenn ich das richtig verstanden hab, ist das einzelne & ein bitweiser vorgang, der dir true zurückliefert, wenn die letzte stelle 1 ist und 0 wenn die letzte stelle 0 ist

also z.b.

(1) 1 -> true
(2) 10 -> false
(3) 11 -> true
(4) 100-> false
(5) 101 -> true

edit:

ggf. weiterführende links:

[url]http://manuals.phpforum.de/php/language.operators.bitwise.php[/url]
[url]http://www.addison-wesley.de/service/Krueger/kap05005.htm[/url]

oder recht generisch:

[url="http://www.google.com/search?num=100&hl=de&client=opera&rls=de&q=bitweise+operatoren&btnG=Suche&lr="]bitweise operatoren - Google-Suche[/url]

:mrgreen:

squier 27.10.2006 17:49

AW: Prüfen ob Zahl ungerade
 
danke tele,
an die bitweise darstellung (also dualcode) habe ich gar nicht gedacht, aber jetzt ist alles klar, da hätte ich auch selber drauf kommen können :mrgreen:
wie gesagt danke noch mal für die schnelle antwort

BenniG. 28.10.2006 08:26

AW: Prüfen ob Zahl ungerade
 
Wobei man da ganz schön aufpassen sollte! Bei Integer und Long funktioniert das, bei float und double aber nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.