View Full Version : Approfondire la conoscenza degli operatori bitwise
blackgin
12-01-2010, 20:21
Salve, sono interessato a migliorare le mie capacitį nell'uso degli operatori bitwise (precisamente nell'uso in C) e volevo sapere secondo voi qualche buona risorsa. O qualche libro solo (o soprattutto) su questi operatori (esisterį??) oppure risorse web ed esercizi..
oddio, non é che servano trattati per spiegarne il funzionamento conoscendo tutto il resto del linguaggio eh (o anche senza conoscerlo).
gli operatori bitwise sono quelli che lavorano bit a bit sugli operandi; l'AND bitwise (simbolo "&") fa l'AND bit a bit di due numeri, l'OR (simbolo "|") fa l'OR bit a bit, e cosi via.
banryu79
13-01-2010, 00:33
oddio, non é che servano trattati per spiegarne il funzionamento conoscendo tutto il resto del linguaggio eh (o anche senza conoscerlo).
gli operatori bitwise sono quelli che lavorano bit a bit sugli operandi; l'AND bitwise (simbolo "&") fa l'AND bit a bit di due numeri, l'OR (simbolo "|") fa l'OR bit a bit, e cosi via.
Penso intendesse chiedere se possiamo indirizzarlo a qualche risorsa consultabile che mostri i casi d'uso pił classici, tipo con le maschere di bit e i flag, magari deve impratichirsi su roba del genere in tempi brevi.
Con una rapida ricerca sul forum ho trovato questo thread (http://www.hwupgrade.it/forum/showthread.php?t=2045609&highlight=bitwise).
blackgin
13-01-2010, 09:18
Si infatti, mi interessano soprattutto ambiti di utilizzo e quindi esercizi..
banryu79
13-01-2010, 12:32
Si infatti, mi interessano soprattutto ambiti di utilizzo e quindi esercizi..
Con una ricerca su Google trovi in 5 minuti tutti gli esempi che vuoi... per darti un'idea eccoti due link dove se ne parla/spiega:
- http://en.wikipedia.org/wiki/Mask_%28computing%29
- http://sol.gfxile.net/boolean.html
blackgin
13-01-2010, 13:14
Si ma non vedo esercizi. Lo so cosa fanno gli operatori bitwise..
Cercavo qualcosa del tipo: "Programma un multiplex usando operatori bitwise" oppure "somma due numeri usando operatori bitwise"
banryu79
13-01-2010, 14:08
Si ma non vedo esercizi. Lo so cosa fanno gli operatori bitwise..
Cercavo qualcosa del tipo: "Programma un multiplex usando operatori bitwise" oppure "somma due numeri usando operatori bitwise"
Beh se gią conosci le bitmask puoi sempre invertarteli tu... se lo scopo č fare pratica; io non conosco una raccolta organica centrata sulle applicazioni delle bitmask, con tanto di esercizi, se č questo che cercavi.
Ma con l'aiuto di Google puoi trovare esempi di applicazione delle bitmask in diversi contesti, poi con un pizzico di fantasia ti inventi un esercizio da risolvere. Per esempio qui (http://service.real.com/help/library/guides/helixuniversalserver/htmfiles/bitmask.htm) trovi illustrato l'uso delle bitmask per rappresentare (e quindi poi filtrare e ricercare) indirizzi IP.
Letta la paginetta č facile pensare a qualche esercizio.
Puoi trovare altri spunti con Google (bitmask + colors/graphics/hash ecc...)
http://www.jjj.de/fxt/fxtpage.html#fxtbook (Il primo capitolo si intitola 'Bit Wizardry')
Se cerchi un libro cartaceo c'č sempre il mitico Hacker's Delight, che č una specie di enciclopedia per queste cose.
blackgin
13-01-2010, 16:56
Merci! ;)
Cercavo qualcosa del tipo: "Programma un multiplex usando operatori bitwise" oppure "somma due numeri usando operatori bitwise" non so cosa tu intenda per multiplex ma il secondo esercizio é fighissimo! :p
#include <iostream>
using namespace std;
int main()
{
unsigned int First, Second;
cin >> First >> Second;
do
{
unsigned int Carries = First & Second;
First ^= Second;
Second = Carries << 1;
}
while (Second);
cout << First << endl;
return 0;
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.