|  | 		    
					
        
         
          
         
	
          | |  | Odd number Fra : Dennis Olesen
 | 
 Dato :  14-09-04 20:22
 | 
 |  | Er det den rigtig måde at teste om et tal er ulige? Findes  der en anden og
 bedre måde ?
 
 if (Number % 2 == 0 )
 
 
 MVH
 Dennis
 
 
 
 
 |  |  | 
  Kristian Thy (14-09-2004) 
 
	
          | |  | Kommentar Fra : Kristian Thy
 | 
 Dato :  14-09-04 20:32
 | 
 |  |  |  |  | 
  Dennis Olesen (14-09-2004) 
 
	
          | |  | Kommentar Fra : Dennis Olesen
 | 
 Dato :  14-09-04 20:44
 | 
 |  | Tak for det hurtige svar
 
 MVH
 Dennis Olesen
 
 
 
 
 |  |  | 
  Niels Dybdahl (15-09-2004) 
 
	
          | |  | Kommentar Fra : Niels Dybdahl
 | 
 Dato :  15-09-04 09:00
 | 
 |  | > > Er det den rigtig måde at teste om et tal er ulige? Findes  der en anden
 og
 > > bedre måde ?
 > >
 > > if (Number % 2 == 0 )
 >
 > Ovenstående er den statsautoriserede og helt igennem korrekte måde at
 > teste om et tal er ulige.
 
 Forudsat at Number er et heltal.
 
 Niels Dybdahl
 
 
 
 
 |  |  | 
   Kristian Thy (15-09-2004) 
 
	
          | |  | Kommentar Fra : Kristian Thy
 | 
 Dato :  15-09-04 09:05
 | 
 |  |  |  |  | 
    Niels Dybdahl (15-09-2004) 
 
	
          | |  | Kommentar Fra : Niels Dybdahl
 | 
 Dato :  15-09-04 13:34
 | 
 |  | > >> > if (Number % 2 == 0 )
 > >>
 > >> Ovenstående er den statsautoriserede og helt igennem korrekte måde at
 > >> teste om et tal er ulige.
 > >
 > > Forudsat at Number er et heltal.
 >
 > Sidst jeg tjekkede var lige/ulige kun defineret for heltal, så det er
 > vel underforstået?
 
 Netop derfor. Man kan sagtens putte en double ind i overstående og få at
 vide at 8.5 er lige. Men det giver ikke meget mening.
 
 Niels Dybdahl
 
 
 
 
 |  |  | 
     Kristian Thy (15-09-2004) 
 
	
          | |  | Kommentar Fra : Kristian Thy
 | 
 Dato :  15-09-04 13:40
 | 
 |  |  |  |  | 
  Soren Kuula (16-09-2004) 
 
	
          | |  | Kommentar Fra : Soren Kuula
 | 
 Dato :  16-09-04 23:13
 | 
 |  | Hejsa,
 
 Kristian Thy wrote:
 > Dennis Olesen uttered:
 >>Er det den rigtig måde at teste om et tal er ulige? Findes  der en anden og
 >>bedre måde ?
 >>
 >>if (Number % 2 == 0 )
 
 JA, der findes en anden måde:
 
 if ((number & 1) == 0)
 
 Den er i hvert fald ikke langsommere end den første, og måske hurtigere
 (fordi processoren ikke skal ud i at lave en division, men blot en AND,
 som kan klares på konstant, meget kort tid). Prøv evt. at benchmark og
 se om det er noget der rykker.
 
 Men den første metode er mere generel; den kan tjekke om alle mulige
 andre tal end 2 går op i Number. Min virker kun med 2, 4, 8, ....
 
 MVH
 Søren
 
 
 |  |  | 
  kgc (17-09-2004) 
 
	
          | |  | Kommentar Fra : kgc
 | 
 Dato :  17-09-04 08:38
 | 
 |  | 
 
            Dennis Olesen wrote:
 > Er det den rigtig måde at teste om et tal er ulige? Findes  der en anden og 
 > bedre måde ?
 > 
 > if (Number % 2 == 0 )
 Er 8 ulige?
    8 % 2 == 0 -> true
 Den rigtige måde at teste om et tal er _ulige_ må være:
    if (Number % 2 == 1)
 eller:
    if (!(Number % 2 == 0))
 eller
    if (Number % 2 != 0)
 Idet % er resten ved heltalsdivision, er definitionen på "x går op i y" 
 at "y % x == 0" og definitionen på "y lige" er "2 går op i y". Eller 
 tager jeg fejl?
 Mvh. Kasper
 -- 
 Besøg mig på nettet: http://www.kaspershjemmeside.dk |  |  | 
  Kristian Thy (17-09-2004) 
 
	
          | |  | Kommentar Fra : Kristian Thy
 | 
 Dato :  17-09-04 14:53
 | 
 |  |  |  |  | 
 |  |