Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
Spam123 #2042 üzenetére
ha unsigned shortban vagy intben tárolod a számokat, akkor a biteket nem tömbelemekként éred el, hanem bitszintű operátorokat kell használnod. maszkolnod, shiftelned kell &, >> és << operátorokkal.
Talán kicsit bonyolultabb, de szerintem szebb megoldás, ha már alacsony szintű működést kell szimulálni. Meg kevesebb helyet is foglalsz így, mert egy boolean változó a memóriában szintén lefoglal vagy 2 byteot, ami összesen 32 byte. -
Vico87
tag
válasz
Spam123 #2039 üzenetére
Szia!
Szükséged lesz további tagfüggvényekre is. Egyrészt decimálisból is kell konvertálnod kettes komplemensre, másrészt valahogy a hibákat is kell tudni jelezni (pl. overflow, underflow, nullával osztás, ...). Ami jó volna, ha implementálnád ezeket a műveleteket operátor túlterheléssel is, így tömörebb, olvashatóbb kódot is lehet majd írni a tesztelésre.
A kettes komplemenses számábrázolás egyik előnye, hogy az alapműveletek úgy mennek, mint "sima" bináris számoknál egy-két apróságtól eltekintve. Az angol wikipédián szépen le is vannak írva, példákkal ([link]). Az osztásra sokféle módszer van ([link]), ha nem teljesítménykritikus a feladat, akkor elég a legegyszerűbb, naiv módszer, azaz a sorozatos kivonás, ami kb 5 sor kód, felhasználva a korábban implementált kivonást. Persze, ha gyorsan kell az eredmény, akkor a linkelt oldalon le vannak írva sokkal trükkösebb és egyben gyorsabb algoritmusok is.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 9600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Samsung Galaxy A20e/Samsung Galaxy A40/Samsung Galaxy A04s/Samsung Galaxy A03s
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6600XT / 32GB DDR4 / 512GB SSD
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3421
- GYÖNYÖRŰ iPhone X 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3586, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest