Kezdőoldal » Tudományok » Egyéb kérdések » Hogy lehet a szorzást bináris...

Hogy lehet a szorzást bináris művelettáblákkal és átvitelekkel kifejezni?

Figyelt kérdés

2019. máj. 1. 20:58
 1/4 anonim ***** válasza:
Konkrétabban?
2019. máj. 3. 00:03
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Vegyük először az összeadást, az egyszerűbb. Jelentse a + operátor a következőt:

+(0;0) = +(1;1) = 0,

+(1;0) = +(0;1) = 1,

akárcsak a kizáró-vagynál, viszont van olyan, hogy átvitel, amit jelöljünk @+-szal:

@+(0;0) = @+(0;1) = @+(1;0) = 0

@+(1;1) = 1

És a + b := +(a;b) xor (2 * @+(a;b)) = a xor b xor (2 * (a and b)). Ez kiterjeszthető több bitből álló számokra is (bitsorozat), viszont a szorzással mi van? Az is ilyen szépen művelettáblába fejthető?

2019. máj. 3. 17:19
 3/4 BrettShaw ***** válasza:

Mit gondolsz, a számítógép hogyan számol?

Logikai kapukkal. Vagyis az aritmetikai műveletek is logikai műveletekre vannak visszavezetve.

A + B bitek összeadása egy CD kétbites számot eredményez (mert ugye 1+1 = 10). Ekkora C=A&B, D = A xor B. Ennyi. A szorzást pedig kb. úgy csinálják, mint ahogy papíron tanultuk az iskolában. Annyival egyszerűbb a dolog, hogy a szorzó bitjei csak 0 vagy 1 értéket hordozhatnak, tehát pl

ABCDE * 01101

-----

00000ABCDE

0000000000

000ABCDE00

00ABCDE000

0000000000


Aztán összeadni a sorokat. Az egész 3 órajelből is megoldható.

2019. máj. 4. 21:39
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Az általános iskolában megtanult szorzás - jelen esetben bináris reprezentáltakkal - tartalmaz egy szumma operátort:

a * b = sum k=0-tól n-ig a >> (k * b[k]),

ahol n b számjegyeinek száma, >> a biteltolás, b[k] a b bináris szám k. számjegye (0.-tól sorszámozva).

Ezt az iterációt szeretném kettő vagy három művelettáblázattal helyettesíteni... vagy legalább a szummától megszabadulni. Létezik a fentinél hatékonyabb módszer?

2019. máj. 4. 22:48

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!