-
Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-27 23:01:18.0 alle 2015-01-27 23:01:18.0Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
1 OR 2 = 01 OR 10 = 11 = 3,
1 + 2 = 01 + 10 = 11 = 3,
e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
Ma in generale,
2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-27 23:13:45.0 alle 2015-01-27 23:13:45.0Trollate totali: 18184Scritto da:
> Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
>
> 1 OR 2 = 01 OR 10 = 11 = 3,
> 1 + 2 = 01 + 10 = 11 = 3,
> e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> Ma in generale,
> 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
>
> Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
>
> Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
http://en.wikipedia.org/wiki/Adder_%28electronics%...

buongiorno.I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-27 23:17:46.0 alle 2015-01-27 23:17:46.0Scritto da: avvelentani
> Scritto da:
> > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> >
> > 1 OR 2 = 01 OR 10 = 11 = 3,
> > 1 + 2 = 01 + 10 = 11 = 3,
> > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > Ma in generale,
> > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> >
> > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> >
> > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
>
>http://en.wikipedia.org/wiki/Adder_%28electronics%...

>
> buongiorno.
Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-27 23:24:38.0 alle 2015-01-27 23:24:38.0Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > >
> > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > 1 + 2 = 01 + 10 = 11 = 3,
> > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > Ma in generale,
> > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > >
> > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > >
> > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> >
> >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> >
> > buongiorno.
>
> Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
Forse non ho letto questo ma uno simile, ma voglio dire: l'addizione fra due bit somma anche il riporto della stessa operazione precedentemente effettuata sui bit meno significativi. In una formula matematica non c'è un flusso temporale, la matematica è tutta al presente, simultanea.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-27 23:26:37.0 alle 2015-01-27 23:26:37.0Scritto da:
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > > >
> > > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > > 1 + 2 = 01 + 10 = 11 = 3,
> > > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > > Ma in generale,
> > > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > > >
> > > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > > >
> > > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> > >
> > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > >
> > > buongiorno.
> >
> > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
>
> Forse non ho letto questo ma uno simile, ma voglio dire: l'addizione fra due bit somma anche il riporto della stessa operazione precedentemente effettuata sui bit meno significativi. In una formula matematica non c'è un flusso temporale, la matematica è tutta al presente, simultanea.
Ci penserò domani a mente più sveglia comunque, non mi convince quello che ho appena scritto.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 01:07:40.0 alle 2015-01-28 01:07:40.0Mischi pizza e fichi.
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:24:25.0 alle 2015-01-28 17:24:25.0> Mischi pizza e fichi.
È quello che mi serve.
-
-
-
-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 07:49:00.0 alle 2015-01-28 07:49:00.0Trollate totali: 18184Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > >
> > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > 1 + 2 = 01 + 10 = 11 = 3,
> > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > Ma in generale,
> > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > >
> > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > >
> > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> >
> >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> >
> > buongiorno.
>
> Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
che roba e` una formula matematica? la matematica non ha formule.I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 09:54:55.0 alle 2015-01-28 09:54:55.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > > >
> > > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > > 1 + 2 = 01 + 10 = 11 = 3,
> > > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > > Ma in generale,
> > > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > > >
> > > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > > >
> > > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> > >
> > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > >
> > > buongiorno.
> >
> > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
>
> che roba e` una formula matematica? la matematica non ha formule.http://it.wikipedia.org/wiki/Formula

Non mettiamoci a fare gli exsinistri.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 10:01:51.0 alle 2015-01-28 10:01:51.0
ho sbagliato a leggere.
Ho letto Domanda per informatici erotici.
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 10:21:20.0 alle 2015-01-28 10:21:20.0>
ho sbagliato a leggere.
> Ho letto Domanda per informatici erotici.
Benvenuto nella realtà.
-
-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 12:09:07.0 alle 2015-01-28 12:09:07.0Trollate totali: 18184Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > >
> > > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > > >
> > > > buongiorno.
> > >
> > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> >
> > che roba e` una formula matematica? la matematica non ha formule.
>
>http://it.wikipedia.org/wiki/Formula

>
> Non mettiamoci a fare gli exsinistri.
wikipeda italiana fa schifo, quella roba li` si chiama equazione non "formula".I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 16:57:28.0 alle 2015-01-28 16:57:28.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: avvelentani
> > > > > Scritto da:
> > > > >
> > > > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > > > >
> > > > > buongiorno.
> > > >
> > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > >
> > > che roba e` una formula matematica? la matematica non ha formule.
> >
> >http://it.wikipedia.org/wiki/Formula

> >
> > Non mettiamoci a fare gli exsinistri.
>
> wikipeda italiana fa schifo, quella roba li` si chiama equazione non "formula".
Ah ahi ahi odo rumori di geco su vetro insaponato. Equazione è una uguaglianza contenente un'incognita da determinare. Formula significa genericamente espressione.
-
-
-
Re: Domanda per informatici teoriciScritto daThe LichÜbermenschil 2015-01-28 10:42:59.0 alle 2015-01-28 10:42:59.0Trollate totali: 21351Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > > >
> > > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > > 1 + 2 = 01 + 10 = 11 = 3,
> > > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > > Ma in generale,
> > > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > > >
> > > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > > >
> > > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> > >
> > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > >
> > > buongiorno.
> >
> > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
>
> che roba e` una formula matematica? la matematica non ha formule.
forse voleva dire un algoritmo
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:09:33.0 alle 2015-01-28 17:09:33.0Scritto da: The Lich
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > > > Esiste una formula matematica che lega le operazioni logiche e aritmetiche fra numeri binari? Ad esempio
> > > > >
> > > > > 1 OR 2 = 01 OR 10 = 11 = 3,
> > > > > 1 + 2 = 01 + 10 = 11 = 3,
> > > > > e questo vale ogni volta che la somma cifra per cifra non dà riporto, cioè quando i bit addendi non sono entrambi 1.
> > > > > Ma in generale,
> > > > > 2 OR 3 = 10 OR 11 = 11 = 3 mentre 2 + 3 = 5.
> > > > >
> > > > > Quel che vorrei è sapere se qualcuno ha trovato una regola generale.
> > > > >
> > > > > Mi raccomando sassofono, pensaci tutta la notte, tornerò domani a prendere la risposta insieme al croissant.
> > > >
> > > >http://en.wikipedia.org/wiki/Adder_%28electronics%...

> > > >
> > > > buongiorno.
> > >
> > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> >
> > che roba e` una formula matematica? la matematica non ha formule.
>
> forse voleva dire un algoritmo
Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 17:20:53.0 alle 2015-01-28 17:20:53.0Trollate totali: 18184Scritto da:
> Scritto da: The Lich
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: avvelentani
> > > >
> > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > >
> > > che roba e` una formula matematica? la matematica non ha formule.
> >
> > forse voleva dire un algoritmo
>
> Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto da: avvelentani
> Scritto da:
> > Scritto da: The Lich
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > > > Scritto da: avvelentani
> > > > >
> > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > >
> > > > che roba e` una formula matematica? la matematica non ha formule.
> > >
> > > forse voleva dire un algoritmo
> >
> > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
>
> non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
?
**Modificato dall'autore il 28.01.2015 17:25**`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:34:49.0 alle 2015-01-28 17:34:49.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: The Lich
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > > > Scritto da: avvelentani
> > > > >
> > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > >
> > > > che roba e` una formula matematica? la matematica non ha formule.
> > >
> > > forse voleva dire un algoritmo
> >
> > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
>
> non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
Non è più semplice così?a OR b = max{a, b} a AND b = min{a, b} NOT a = 1 - a
Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:39:31.0 alle 2015-01-28 17:39:31.0Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: The Lich
> > > > Scritto da: avvelentani
> > > > > Scritto da:
> > > > > > Scritto da: avvelentani
> > > > > >
> > > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > > >
> > > > > che roba e` una formula matematica? la matematica non ha formule.
> > > >
> > > > forse voleva dire un algoritmo
> > >
> > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> >
> > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
>
> Non è più semplice così?
>
>> a OR b = max{a, b} > > a AND b = min{a, b} > > NOT a = 1 - a >
>
>
> Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.
Nel caso che mi interessa a e b sono interi qualunque.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:52:36.0 alle 2015-01-28 17:52:36.0Scritto da:
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: The Lich
> > > > > Scritto da: avvelentani
> > > > > > Scritto da:
> > > > > > > Scritto da: avvelentani
> > > > > > >
> > > > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > > > >
> > > > > > che roba e` una formula matematica? la matematica non ha formule.
> > > > >
> > > > > forse voleva dire un algoritmo
> > > >
> > > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> > >
> > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> >
> > Non è più semplice così?
> >
> >> > a OR b = max{a, b} > > > > a AND b = min{a, b} > > > > NOT a = 1 - a > >
> >
> >
> > Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.
>
> Nel caso che mi interessa a e b sono interi qualunque.
Ah. Pensavo fossero numeri binari (o compresi fra 0 e 1 in fuzzy logic).
Possibile che non hai a disposizione le funzioni base della logica booleana su interi?
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 18:00:28.0 alle 2015-01-28 18:00:28.0Scritto da:
> Scritto da:
> > Scritto da:
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > > > Scritto da: The Lich
> > > > > > Scritto da: avvelentani
> > > > > > > Scritto da:
> > > > > > > > Scritto da: avvelentani
> > > > > > > >
> > > > > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > > > > >
> > > > > > > che roba e` una formula matematica? la matematica non ha formule.
> > > > > >
> > > > > > forse voleva dire un algoritmo
> > > > >
> > > > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> > > >
> > > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> > >
> > > Non è più semplice così?
> > >
> > >> > > a OR b = max{a, b} > > > > > > a AND b = min{a, b} > > > > > > NOT a = 1 - a > > >
> > >
> > >
> > > Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.
> >
> > Nel caso che mi interessa a e b sono interi qualunque.
>
> Ah. Pensavo fossero numeri binari (o compresi fra 0 e 1 in fuzzy logic).
>
> Possibile che non hai a disposizione le funzioni base della logica booleana su interi?
Non in termini di operazioni aritmetiche (AND e OR espresse in termini di addizione e moltiplicazione). Mi chiedevo se sia possibile, se sia già stato fatto, ma cercando con Google non trovo niente di attinente.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 18:19:08.0 alle 2015-01-28 18:19:08.0Scritto da:
>
> Non in termini di operazioni aritmetiche (AND e OR espresse in termini di addizione e moltiplicazione). Mi chiedevo se sia possibile, se sia già stato fatto, ma cercando con Google non trovo niente di attinente.
Come formula matematica non avrei idea di come fare, però via programma se NON hai a disposizione l'operazione di shift a destra potresti procedere così:
Dati A e B due interi qualsiasi non negativi e % è l'operazione di modulo mentre / è la divisione intera (che butta via eventuali decimali)
Per l'operazione di AND
var res = 0; // Conterrà il risultato
Crea un loop che cicla sul numero di bit, all'intero di questo loop fai questo
loop nbit {
var x = 0;
var y = 0;
if (A % 2 == 1) x = 1;
if (B % 2 == 1) y = 1;
if min(x, y) == 1 { // AND fra LSB = 1
res = (res * 2) + 1;
} else {
res *= 2;
}
A = A / 2;
B = B / 2;
}
Forse, non l'ho provato. Non è quello che chiedevi ma, ammesso e non concesso che funzioni, richiede solo un loop, divisione intera, modulo, moltiplicazione e addizione.-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 18:34:00.0 alle 2015-01-28 18:34:00.0Scritto da:
> Scritto da:
> >
> > Non in termini di operazioni aritmetiche (AND e OR espresse in termini di addizione e moltiplicazione). Mi chiedevo se sia possibile, se sia già stato fatto, ma cercando con Google non trovo niente di attinente.
>
> Come formula matematica non avrei idea di come fare,
Neppure io, è questo il problema.
L'altra sera stavo pensando a un problema matematico e mi è venuta in mente una soluzione in termini di operatori logici. Dato che gli operatori logici corrispondono anche a operazioni matematiche (nel senso che hanno come operandi dei numeri e danno come risultati dei numeri) mi chiedevo se non fosse possibile riscrivere la soluzione in termini di operazioni aritmetiche.
> però via programma se NON hai a disposizione l'operazione di shift a destra potresti procedere così:
>
> Dati A e B due interi qualsiasi non negativi e % è l'operazione di modulo mentre / è la divisione intera (che butta via eventuali decimali)
>
> Per l'operazione di AND
>
>
> var res = 0; // Conterrà il risultato
>
> Crea un loop che cicla sul numero di bit, all'intero di questo loop fai questo
>
> loop nbit {
> var x = 0;
> var y = 0;
> if (A % 2 == 1) x = 1;
> if (B % 2 == 1) y = 1;
> if min(x, y) == 1 { // AND fra LSB = 1
> res = (res * 2) + 1;
> } else {
> res *= 2;
> }
> A = A / 2;
> B = B / 2;
> }
>
> Forse, non l'ho provato. Non è quello che chiedevi ma, ammesso e non concesso che funzioni, richiede solo un loop, divisione intera, modulo, moltiplicazione e addizione.
-
-
-
-
-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 17:39:32.0 alle 2015-01-28 17:39:32.0Trollate totali: 18184Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: The Lich
> > > > Scritto da: avvelentani
> > > >
> > > > forse voleva dire un algoritmo
> > >
> > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> >
> > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
>
> Non è più semplice così?
>
>> a OR b = max{a, b} > > a AND b = min{a, b} > > NOT a = 1 - a >
>
>
> Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.
oppurea OR b = a + b - ab a AND b = ab NOT a = 1 - a
I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:41:40.0 alle 2015-01-28 17:41:40.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: The Lich
> > > > > Scritto da: avvelentani
> > > > >
> > > > > forse voleva dire un algoritmo
> > > >
> > > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> > >
> > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> >
> > Non è più semplice così?
> >
> >> > a OR b = max{a, b} > > > > a AND b = min{a, b} > > > > NOT a = 1 - a > >
> >
> >
> > Che fra l'altro dovrebbero essere le operazioni logiche base in fuzzy logic.
>
> oppure
>
>> a OR b = a + b - ab > a AND b = ab > NOT a = 1 - a >
>
1 AND 2 = 01 AND 10 = 0.
-
-
-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 17:37:06.0 alle 2015-01-28 17:37:06.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: The Lich
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > > > Scritto da: avvelentani
> > > > >
> > > > > Già letto, ma mi servirebbe una formula matematica, non un circuito o un algoritmo. Non so come esprimere "porta il riporto" in una formula, ma magari qualcun altro ci ha già pensato ed è inutile che mi scervelli per reinventare la ruota.
> > > >
> > > > che roba e` una formula matematica? la matematica non ha formule.
> > >
> > > forse voleva dire un algoritmo
> >
> > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
>
> non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
Il minimo tra a+b e 1? non mi torna, es.
1 OR 2 = 3,
2 OR 3 = 3.
Per la formula inversa, se i bit di a sono a_i e quelli di b i b_i, il meccanismo di somma è chiaro e può darsi (non ho ancora provato) si riesca a esprimerlo in termini di AND e OR.-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 17:42:17.0 alle 2015-01-28 17:42:17.0Trollate totali: 18184Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: The Lich
> > > > Scritto da: avvelentani
> > > >
> > > > forse voleva dire un algoritmo
> > >
> > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> >
> > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
>
> Il minimo tra a+b e 1? non mi torna, es.
> 1 OR 2 = 3,
> 2 OR 3 = 3.
bitwise or? non capisco cosa vuoi fare e perche'.
>
> Per la formula inversa, se i bit di a sono a_i e quelli di b i b_i, il meccanismo di somma è chiaro e può darsi (non ho ancora provato) si riesca a esprimerlo in termini di AND e OR.
ma l'hai letto o no l'articolo di wikipeda?I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 18:24:13.0 alle 2015-01-28 18:24:13.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: The Lich
> > > > > Scritto da: avvelentani
> > > > >
> > > > > forse voleva dire un algoritmo
> > > >
> > > > Non mi serve un algoritmo, ma una formula che esprima a OR b in termini di operazioni aritmetiche.
> > >
> > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> >
> > Il minimo tra a+b e 1? non mi torna, es.
> > 1 OR 2 = 3,
> > 2 OR 3 = 3.
>
> bitwise or? non capisco cosa vuoi fare e perche'.
Bit per bit.
Ho un'espressione che dà un risultato come OR di più numeri, mi sono chiesto se la si possa porre in una forma contenente solo addizione e moltiplicazione, che mi sarebbe più facile da usare.
Ad esempio 1 OR 2 = 1 + 2
vale nel caso in cui gli operandi siano 1 e 2,
ma in generale a OR b non è uguale ad a + b, per interi qualsiasi.
a OR b = a + b
nel caso in cui a e b siano interi con bit omologhi non ambedue uguali a 1: bit per bit si ha 0 OR 1 oppure 1 OR 0 e in entrambi i casi il risultato è 1 = 1 + 0, oppure 0 OR 0 e il risultato è 0 = 0 + 0.
Dove non c'è riporto, cioè quando gli operandi non sono 1 e 1, OR e addizione di bit danno gli stessi risultati, e quindi anche per numeri di più bit.
> > Per la formula inversa, se i bit di a sono a_i e quelli di b i b_i, il meccanismo di somma è chiaro e può darsi (non ho ancora provato) si riesca a esprimerlo in termini di AND e OR.
>
> ma l'hai letto o no l'articolo di wikipeda?
Questo?http://en.wikipedia.org/wiki/Adder_%28electronics%...

L'ho or ora riletto per vedere se mi era sfuggito qualcosa. In termini simbolici arriva a
S = A XOR B XOR C_in
C_out = (A AND B) OR (C_in AND (A XOR B))
per la somma di due bit. Da cui, immagino, si potrebbe arrivare ad esprimere a + b in termini di operazioni logiche sui rispettivi bit.-
Re: Domanda per informatici teoriciScritto daavvelentaniCubicolarioil 2015-01-28 19:19:49.0 alle 2015-01-28 19:19:49.0Trollate totali: 18184Scritto da:
> Scritto da: avvelentani
> > Scritto da:
> > > Scritto da: avvelentani
> > > > Scritto da:
> > > >
> > > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> > >
> > > Il minimo tra a+b e 1? non mi torna, es.
> > > 1 OR 2 = 3,
> > > 2 OR 3 = 3.
> >
> > bitwise or? non capisco cosa vuoi fare e perche'.
>
> Bit per bit.
>
> Ho un'espressione che dà un risultato come OR di più numeri, mi sono chiesto se la si possa porre in una forma contenente solo addizione e moltiplicazione, che mi sarebbe più facile da usare.
Non penso che si possa fare e penso che non ti serva.I think happiness is love
- Vladimir Putin-
Re: Domanda per informatici teoriciScritto daNon Autenticatoil 2015-01-28 19:23:58.0 alle 2015-01-28 19:23:58.0Scritto da: avvelentani
> Scritto da:
> > Scritto da: avvelentani
> > > Scritto da:
> > > > Scritto da: avvelentani
> > > > > Scritto da:
> > > > >
> > > > > non volevi l'opposto? questa parte e` banale a OR b = min{a+b, 1} (la direzione complicata te l'ho gia` data ieri).
> > > >
> > > > Il minimo tra a+b e 1? non mi torna, es.
> > > > 1 OR 2 = 3,
> > > > 2 OR 3 = 3.
> > >
> > > bitwise or? non capisco cosa vuoi fare e perche'.
> >
> > Bit per bit.
> >
> > Ho un'espressione che dà un risultato come OR di più numeri, mi sono chiesto se la si possa porre in una forma contenente solo addizione e moltiplicazione, che mi sarebbe più facile da usare.
>
> Non penso che si possa fare
Non so. Ma se si potesse, qualcuno l'avrebbe già fatto e, cercando "relazioni tra operazioni logiche e aritmetiche" qualcosa salterebbe fuori.
> e penso che non ti serva.
NO! Mi serve! È in gioco il destino del'umanità.
-
-
-
-
-
-
-
-
-
-
-