Kezdőoldal » Tudományok » Természettudományok » Leírható az összeadás bitenkén...

Leírható az összeadás bitenkénti műveletekkel rekurzió és ciklusok nélkül?

Figyelt kérdés

2019. máj. 28. 19:26
 1/5 anonim ***** válasza:
Rögzített hosszúságú számokra kigöngyölített ciklussal.
2019. máj. 28. 19:44
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Tudom, hogy ez egy eldöntendő kérdés, de kaphatnék rá példát? - Csak logikai műveleteket ér felhasználni!
2019. máj. 28. 19:50
 3/5 anonim ***** válasza:

Az a és b a bemenet c a kimenet és a szokásos módon értelmezett bitműveletek 8 bitig összead fixpontos (nemnegatív) számokon :


c|=((a&1)^(b&1)^atvitel)

atvitel=((a&1)&(b&1))|((a&1)&atvitel)|((b&1)&atvitel)

c|=(((a>>1)&1)^((b>>1)&1)^atvitel)<<1

atvitel=(((a>>1)&1)&((b>>1)&1))|(((a>>1)&1)&atvitel)|(((b>>1)&1)&atvitel)

c|=(((a>>2)&1)^((b>>2)&1)^atvitel)<<2

atvitel=(((a>>2)&1)&((b>>2)&1))|(((a>>2)&1)&atvitel)|(((b>>2)&1)&atvitel)

c|=(((a>>3)&1)^((b>>3)&1)^atvitel)<<3

atvitel=(((a>>3)&1)&((b>>3)&1))|(((a>>3)&1)&atvitel)|(((b>>3)&1)&atvitel)

c|=(((a>>4)&1)^((b>>4)&1)^atvitel)<<4

atvitel=(((a>>4)&1)&((b>>4)&1))|(((a>>4)&1)&atvitel)|(((b>>4)&1)&atvitel)

c|=(((a>>5)&1)^((b>>5)&1)^atvitel)<<5

atvitel=(((a>>5)&1)&((b>>5)&1))|(((a>>5)&1)&atvitel)|(((b>>5)&1)&atvitel)

c|=(((a>>6)&1)^((b>>6)&1)^atvitel)<<6

atvitel=(((a>>6)&1)&((b>>6)&1))|(((a>>6)&1)&atvitel)|(((b>>6)&1)&atvitel)

c|=(((a>>7)&1)^((b>>7)&1)^atvitel)<<7

atvitel=(((a>>7)&1)&((b>>7)&1))|(((a>>7)&1)&atvitel)|(((b>>7)&1)&atvitel)


C-ben : pastebin.com (per) ywLZxHJD

2019. máj. 29. 02:11
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Bocsi inicializálás első 2 sor lemaradt:

Vagyis az egész:

c=0

atvitel=0

c|=((a&1)^(b&1)^atvitel)

atvitel=((a&1)&(b&1))|((a&1)&atvitel)|((b&1)&atvitel)

c|=(((a>>1)&1)^((b>>1)&1)^atvitel)<<1

atvitel=(((a>>1)&1)&((b>>1)&1))|(((a>>1)&1)&atvitel)|(((b>>1)&1)&atvitel)

c|=(((a>>2)&1)^((b>>2)&1)^atvitel)<<2

atvitel=(((a>>2)&1)&((b>>2)&1))|(((a>>2)&1)&atvitel)|(((b>>2)&1)&atvitel)

c|=(((a>>3)&1)^((b>>3)&1)^atvitel)<<3

atvitel=(((a>>3)&1)&((b>>3)&1))|(((a>>3)&1)&atvitel)|(((b>>3)&1)&atvitel)

c|=(((a>>4)&1)^((b>>4)&1)^atvitel)<<4

atvitel=(((a>>4)&1)&((b>>4)&1))|(((a>>4)&1)&atvitel)|(((b>>4)&1)&atvitel)

c|=(((a>>5)&1)^((b>>5)&1)^atvitel)<<5

atvitel=(((a>>5)&1)&((b>>5)&1))|(((a>>5)&1)&atvitel)|(((b>>5)&1)&atvitel)

c|=(((a>>6)&1)^((b>>6)&1)^atvitel)<<6

atvitel=(((a>>6)&1)&((b>>6)&1))|(((a>>6)&1)&atvitel)|(((b>>6)&1)&atvitel)

c|=(((a>>7)&1)^((b>>7)&1)^atvitel)<<7

atvitel=(((a>>7)&1)&((b>>7)&1))|(((a>>7)&1)&atvitel)|(((b>>7)&1)&atvitel)

2019. máj. 29. 02:14
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Igen. Ezt használjuk elég gyakran. Egész és fixpontos esetben az elv, hogy az XOR művelet (kizáró vagy) az ún. fél összeadás. Ehhez kell egy átvitelt képezni és megvan az összadás.

Ld: 1011+0110 esetén a következő minta 0+1=1, 1+1=0 és keletkezik 1 átvitel, 0+1=1 de itt még hozzá kell adni az előző bitről jövő átvitelt 1+1=0 és keletkezik 1 átvitel. A 4.biten 1+0=1 és hozzá adva az előző átvitelt 1+1=0 és keletkezik 1 átvitel. Azaz az eredmény:

0001 (és 1 átvitel ami itt tulcsordulást fog jelenteni).

Az az eredmény (1)0001 lesz.

Ez bitenként: Y=(A XOR B) XOR (C-1) ahol (C-1) az "előző bit átvitele). És az átvitel C=(A AND B) OR (A AND C) OR (B AND C)

2019. máj. 29. 21:26
Hasznos számodra ez a válasz?

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!