ciao a tutti!
io ho un problemino con gli enum:
non capisco cosa faccia l'operatore | usato con gli elementi dell'enumerazione.
esempio:
alla fine d quanto vale?codice:enum MioEnum { a = 1 b = 2 c = 3 d = a | b | c };
ciao a tutti!
io ho un problemino con gli enum:
non capisco cosa faccia l'operatore | usato con gli elementi dell'enumerazione.
esempio:
alla fine d quanto vale?codice:enum MioEnum { a = 1 b = 2 c = 3 d = a | b | c };
Ne sparo una grossa...
Rappresentiamo i bit in binario (solo gli ultimi 8)
a = 1 = 00000001
b = 2 = 00000010
c = 3 = 00000011
Facendo un OR del risultato... d sarà uguale a 3.
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
l'avevo pensato anch'io, ma che senso ha?
In questo caso specifico non mi pare che abbia molto senso, ma ci sono diversi casi in cui può essere utile.
Amaro C++, il gusto pieno dell'undefined behavior.
Di solito viene usato nei BitFlags che indicano per ogni bit una data funzionalità...ad esempio..
codice:enum Opzioni { SOMMA_NUMERI_PARI = 1; SOMMA_NUMERI_DISPARI = 1 << 1; SOMMA_PARI_NEGATIVI = 1 << 2; SOMMA_DISPARI_NEGATIVI = 1 << 3; SOMMA_TUTTI = SOMMA_NUMERI_PARI|SOMMA_NUMERI_DISPARI|SOMMA_PARI_NEGATIVI|SOMMA_DISPARI_NEGATIVI; }
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
In effetti, sarebbe piu' corretto e avrebbe un senso, questo
codice:enum MioEnum { a = 1, b = 2, c = 4, d = a | b | c };
No MP tecnici (non rispondo nemmeno!), usa il forum.