[Teoria] Operatori bitwise e aritmetici

Messaggioda ZfreS » 04/11/2019, 17:28

Potreste dirmi se esiste qualche relazione con gli operatori bitwise and, or, xor, not con gli operatori aritemtici +, -, *, /?
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1921 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda apatriarca » 04/11/2019, 21:15

Che cosa intendi dire con relazione tra di essi? Se è possibile implementare gli uni usando gli altri? Altro?
apatriarca
Moderatore
Moderatore
 
Messaggio: 5312 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda ZfreS » 04/11/2019, 21:30

Esatto, sapendo che cos'è lo xor e l'elemento circuitale, come costruisco un circuito che faccia la somma tra due numeri?
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1922 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda vict85 » 05/11/2019, 02:39

Se avessi numeri ad un solo bit e due bit per la risposta, come faresti?
vict85
Moderatore
Moderatore
 
Messaggio: 9949 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda apatriarca » 05/11/2019, 11:04

L'argomento è abbastanza vasto. Somma e sottrazione sono in un certo senso implementati insieme calcolando il complemento a due del secondo input (che è uguale a negare tutti i bit e sommare 1). Puoi iniziare a guardare per esempio su Wikipedia. Per la moltiplicazione il metodo più semplice consiste nell'usare la somma e degli shift come descritto in questa pagina. La divisione credo sia implementata usando l'algoritmo per la divisione che ti viene insegnata a scuola per dividere i numeri (ma con valori decimali) [url=http://mathforum.org/library/drmath/view/55944.html]qui viene descritto un po'[url]. Ovviamente per ognuno di questi esistono probabilmente algoritmi migliori. E mi sono limitato ai numeri interi, per i numeri in virgola mobile l'implementazione è leggermente diversa perché c'è anche l'esponente da prendere in considerazione.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5313 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda ZfreS » 05/11/2019, 14:20

Ok, perfetto, grazie per la spiegazione! Ma aldilà di questo, questi operatori sono legari a quelli aritmetici. Per esempio il * è lagto al + come il / è legato al -. L'and o l'or sono legati al + al - o al * e /?
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1923 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda vict85 » 05/11/2019, 14:44

Non c'è nessun legame tra di loro. Semplicemente puoi usare gli operatori bitwise per simulare (in maniera piuttosto imperfetta1) quello che i circuiti elettrici fanno al loro interno. Pertanto, possono essere usate per ri-implementare alcune istruzioni. Nota che farlo è molto più lento di chiamare direttamente l'istruzione corrispondente.

Note

  1. Un circuito elettrico può applicare diversi operatori sui singoli bit.
vict85
Moderatore
Moderatore
 
Messaggio: 9954 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda apatriarca » 05/11/2019, 15:27

Quello che stai chiedendo non è chiaro. Che significa che due operatori sono legati?
apatriarca
Moderatore
Moderatore
 
Messaggio: 5314 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda ZfreS » 05/11/2019, 17:04

La risposta di vict è convincente. Grazie per l'aiuto!
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1924 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [Teoria] Operatori bitwise e aritmetici

Messaggioda vict85 » 05/11/2019, 17:27

Comunque se vuoi vederli dal punto di vista matematico. Lo xor è l'operazione di somma nello \(\mathbb{Z}_2\)-spazio vettoriale \(\mathbb{Z}_2^{n}\). L'and si comporta come l'intersezione insiemistica e l'or come l'unione insiemistica. Puoi dare un'occhiata all'algebra booleana, ma è molto difficile capire dove vuoi arrivare. Sembra quasi tu stia procedendo a caso.
vict85
Moderatore
Moderatore
 
Messaggio: 9955 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite