Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Pari o dispari illuminazione banale
Forum - Tutto e di + - Pari o dispari illuminazione banale

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 6:26
Martedì, 29/12/2009
Sarà una sciocchezza per molti di voi, ma oggi ho capito che il mio modo di scoprire se un numero è pari o dispari è sempre stato inefficente... (poi vabbè, con gli eight core che stanno per arrivare oggi probabilmente non serve a molto).

Io ho sempre fatto

Codice sorgente - presumibilmente Tutto e di +

  1. int i = 5;
  2. if (i % 2 == 0) printf("Pari!");
  3. else printf("Dispari!");



Ma questo richiede una divisione.

Molto più velocemente:

Codice sorgente - presumibilmente Tutto e di +

  1. int i = 5;
  2. if (i & 1 == 1) printf("Pari!");
  3. else printf("Dispari!");



Ad esempio con 5 (101b):
101
001
---
001 => dispari

Con 6 (110b):
110
001
---
000 => pari

Scusate la banalità, ci tenevo a condividere :rotfl:

Ultima modifica effettuata da pierotofy il 29/12/2009 alle 6:27


Il mio blog: https://piero.dev
PM Quote
Avatar
Matthew (Member)
Expert


Messaggi: 387
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 8:35
Martedì, 29/12/2009
Carino! Non banalissimo comunque, almeno non per me. Non so quanti di noi quando pensano ad un numero lo visualizzano in base binaria... :rotfl:

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 11:26
Martedì, 29/12/2009
Io usavo il tuo "vecchio metodo" :D

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 13:01
Martedì, 29/12/2009

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 15:31
Martedì, 29/12/2009
Vuoi dire che il nostro Dommo ADMIN non legge tutto quello che viene pubblicato sul sito??
Ma questo è imbarazzante.

PM Quote
Avatar
ingMark (Ex-Member)
Pro


Messaggi: 176
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 15:40
Martedì, 29/12/2009
lo avevo letto su questo sito proprio qualche tempo fa ;)

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 15:58
Martedì, 29/12/2009
Testo quotato




Il nostro caro piero non fa tutto quello che dovrebbe fare :D:D

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 16:01
Martedì, 29/12/2009
ma è un articolo di quasi 2 anni fa, mica si può pretendere che uno se li guardi tutti.
a quei tempi non c'era neanche il "ultimi articoli caricati" quindi uno doveva andarseli a guardare uno a uno.

il link più che altro aveva il codice diassemblato per verificare la differenza fra i due metodi.

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 16:12
Martedì, 29/12/2009
Testo quotato

Postato originariamente da netarrow:

ma è un articolo di quasi 2 anni fa, mica si può pretendere che uno se li guardi tutti.
a quei tempi non c'era neanche il "ultimi articoli caricati" quindi uno doveva andarseli a guardare uno a uno.

il link più che altro aveva il codice diassemblato per verificare la differenza fra i due metodi.



Asd....ma un admin è sempre un admin...asd (con i suoi doveri...asd) :asd:

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo