Zdravím,
najde se někdo kdo poradí jak bitově sečíst dvě pole pomocí OR ( | ) ?
Příklad: 1pole = 1111, 2pole = 1010, vysledne = 11001
Předem díky
podle operandů a výsledků to vypadá na aritmetický součet. OR by dal 1111.
součet binárních čísel se řeší na http://programujte.com/forum/vlakno/22491-soucet-dvou-binarnich-cisel/
hu
#1 Petr
01111
01010
-----
11001
takze:
1 | 0 = 1
1 | 1 = 0 (+1)
1 | 0 = 1 + 1 = 0
1 | 1 = 0 (+1) = 1
0 | 0 = 0 + 1 = 1
takze vysledek (pozpatku) = 11001
ještě jeden příklad pro větší číslo
010101111
010001011
---------
100111010
1 | 1 = 0 (+1)
1 | 1 = 0 + 1 = 1 (+1)
1 | 0 = 1 + 1 = 0 (+1)
1 | 1 = 0 + 1 = 1 (+1)
0 | 0 = 0 + 1 = 1
1 | 0 = 1
0 | 0 = 0
1 | 1 = 0
0 | 0 = 0 + 1 = 1
vysledek = 100111010
tady někdo nezná funkční tabulku OR. OR dává výsledek 1 když některý z operandů je 1. Při shodných operandech 0 a neshodných 1 dává XOR.
jen tak pro zajímavost: jednobitová sčítačka se dá udělat pomocí XOR (výsledek) a AND (přenos do vyššího řádu). Pokud má pracovat i s přenosem z nižšího řádu, zařadíš dvě za sebe (děláš součet 3 operandů) s tím, že jejich přenosy sloučíš pomocí OR.
hu
znám funkční tabulku... ale ted nějak nevim, proč jsem psal OR a počítal XOR
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku