In questo caso particolare, non, non v'è alcuna differenza nel risultato :
1 || 0 == 1
1 | 0 == 1
tutte le tabelle di verità applicano qui.
Se stai parlando di come siamo arrivati al risultato poi ci potrebbe essere una differenza. Con la ||
si ha un breve meccanismo di circuito:
BOOLEAN bFooBar = (bFoo||bBar) // if bFoo is TRUE, we never look at bBar
// vs
BOOLEAN bFooBar = (bFoo|bBar) // where we take into account both values
Così il lungo e breve di esso è, sì, è possibile utilizzare gli operatori logici e bit a bit in modo non corretto in alcuni casi e ottenere gli stessi risultati, ma perché si sempre farlo? Se sai che è sbagliato, e sai che può portare a cattivi, difficili da trovare bug, usa gli strumenti che il linguaggio ti ha dato per i lavori che dovevano fare.
Se 'bBar' è vero, la variabile' bFoo' non è nemmeno accessibile .... –
si verifica un cortocircuito solo per l'operatore logcial? – Pablitorun
grazie a tutti, non avevo pensato a cortocircuiti, ma questa è esattamente la risposta che stavo cercando. – Pablitorun