Esercizi operazioni logiche su numeri binari a $n$ bit
Salve a tutti,
mi hanno proposto alcuni esercizi sui quali non saprei dove mettere mani... chiedevo se potevate aiutarmi mostrandomi almeno la procedura di uno di questi, so che non è da regolamento ma non so veramente come fare:
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il bit 5 di X
è 0 o 1. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è pari o dispari. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è un multiplo di 2. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
terzo bit è uno e il quarto è 0. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per ottenere la
sequenza di bit 00001000. --
Ringrazio anticipatamente..
Cordiali saluti
mi hanno proposto alcuni esercizi sui quali non saprei dove mettere mani... chiedevo se potevate aiutarmi mostrandomi almeno la procedura di uno di questi, so che non è da regolamento ma non so veramente come fare:
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il bit 5 di X
è 0 o 1. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è pari o dispari. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è un multiplo di 2. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
terzo bit è uno e il quarto è 0. --
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per ottenere la
sequenza di bit 00001000. --
Ringrazio anticipatamente..
Cordiali saluti
Risposte
Salve a tutti,
diciamo che forse sono riuscito a risolvere questo:
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è pari o dispari. --
ovvero se X è di 8 bit allora per sapere se è pari o dispari, ovvero se il primo bit è rispettivamente 0 o 1, devo fare l'AND tra X ed 00000001, così facendo otterrò due pattern di bit o 00000001 e quindi il numero X è dispari oppure 00000000 e quindi il numero è pari... Ho fatto giusto? Ringrazio anticipatamente!!
Cordiali saluti
P.S=Potete aiutarmi almeno negli altri!!
diciamo che forse sono riuscito a risolvere questo:
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il
numero è pari o dispari. --
ovvero se X è di 8 bit allora per sapere se è pari o dispari, ovvero se il primo bit è rispettivamente 0 o 1, devo fare l'AND tra X ed 00000001, così facendo otterrò due pattern di bit o 00000001 e quindi il numero X è dispari oppure 00000000 e quindi il numero è pari... Ho fatto giusto? Ringrazio anticipatamente!!
Cordiali saluti
P.S=Potete aiutarmi almeno negli altri!!
"garnak.olegovitc":
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il bit 5 di X
è 0 o 1. --
Mmm... Se fai \(x \vee 0\)? Il quinto bit del byte risultante ha lo stesso stato del quinto bit di x.
Salve giuscri,
Mmm... Se fai \(x \vee 0\)? Il quinto bit del byte risultante ha lo stesso stato del quinto bit di x.[/quote]
quindi mi dici di fare X OR 00000000? Così facendo ottengo o un byte 00000000 o 00010000? Giusto?
Cordiali saluti
"giuscri":
[quote="garnak.olegovitc"]
-- Sia X un numero a 8 bit. Specificare le operazioni logiche da effettuare per verificare se il bit 5 di X
è 0 o 1. --
Mmm... Se fai \(x \vee 0\)? Il quinto bit del byte risultante ha lo stesso stato del quinto bit di x.[/quote]
quindi mi dici di fare X OR 00000000? Così facendo ottengo o un byte 00000000 o 00010000? Giusto?
Cordiali saluti
"garnak.olegovitc":
quindi mi dici di fare X OR 00000000? Così facendo ottengo o un byte 00000000 o 00010000
Sì... Ma sicuro che la richiesta non sia diversa da come l'ho intesa io? Mi sembra troppo semplice.
Salve giuscri,
Sì... Ma sicuro che la richiesta non sia diversa da come l'ho intesa io? Mi sembra troppo semplice.[/quote]
in effetti la penso come te.. troppo semplice.. è che non saprei nemmeno se è questo il metodo di proseguire o di fare esercizi di questo tipo....
Se riuscissi a trovare qualcosa online.. o a sapere se è giusto il metodo...
Cordiali saluti
"giuscri":
[quote="garnak.olegovitc"]quindi mi dici di fare X OR 00000000? Così facendo ottengo o un byte 00000000 o 00010000
Sì... Ma sicuro che la richiesta non sia diversa da come l'ho intesa io? Mi sembra troppo semplice.[/quote]
in effetti la penso come te.. troppo semplice.. è che non saprei nemmeno se è questo il metodo di proseguire o di fare esercizi di questo tipo....
Se riuscissi a trovare qualcosa online.. o a sapere se è giusto il metodo...
Cordiali saluti
Ti basta scrivere la tabella dei valori di verità e trovare la funzione da cui puoi sapere le funzioni da utilizzare, forse con le mappe di Karnaugh puoi semplificare anche.
Salve CaMploN,
potresti farmelo vedere.. ti sarei enormemente grato!!
Cordiali saluti
"CaMpIoN":
Ti basta scrivere la tabella dei valori di verità e trovare la funzione da cui puoi sapere le funzioni da utilizzare, forse con le mappe di Karnaugh puoi semplificare anche.
potresti farmelo vedere.. ti sarei enormemente grato!!
Cordiali saluti
Ecco qui tutto ciò che cerchi http://it.wikipedia.org/wiki/Forma_canonica_(algebra_di_Boole)
Aggiungo che per 8 bit è da considerare 8 variabili e quindi 256 combinazioni, ovvero 256 termini nella funzione, puoi semplificare con i Teoremi di dualità, teorema di De Morgan e gli assiomi dell'algebra di Boole, in ogni caso un modo semplice è quello di trovare per pochi valori di verità (vedi sul link quindi come fare) da cui puoi trovare la funzione logica con la tabella e quindi l'operazione logica da applicare, nel primo esercizio troveresti 128 XOR conseguenti, quindi l'operazione logica da applicare è l'XOR.
Aggiungo che per 8 bit è da considerare 8 variabili e quindi 256 combinazioni, ovvero 256 termini nella funzione, puoi semplificare con i Teoremi di dualità, teorema di De Morgan e gli assiomi dell'algebra di Boole, in ogni caso un modo semplice è quello di trovare per pochi valori di verità (vedi sul link quindi come fare) da cui puoi trovare la funzione logica con la tabella e quindi l'operazione logica da applicare, nel primo esercizio troveresti 128 XOR conseguenti, quindi l'operazione logica da applicare è l'XOR.
Salve CaMploN,
grazie, appena posso darò un'occhiata!!
Cordiali saluti
"CaMpIoN":
Ecco qui tutto ciò che cerchi http://it.wikipedia.org/wiki/Forma_canonica_(algebra_di_Boole)
Aggiungo che per 8 bit è da considerare 8 variabili e quindi 256 combinazioni, ovvero 256 termini nella funzione, puoi semplificare con i Teoremi di dualità, teorema di De Morgan e gli assiomi dell'algebra di Boole, in ogni caso un modo semplice è quello di trovare per pochi valori di verità (vedi sul link quindi come fare) da cui puoi trovare la funzione logica con la tabella e quindi l'operazione logica da applicare, nel primo esercizio troveresti 128 XOR conseguenti, quindi l'operazione logica da applicare è l'XOR.
grazie, appena posso darò un'occhiata!!

Cordiali saluti