Új hozzászólás Aktív témák
-
mgoogyi
senior tag
válasz
Hunmugli #3797 üzenetére
"Baloldalt egy char van, jobboldalt egy bit, ez nem fog menni".
A char egy 8 bites szám és jobb oldalt nem bit van, hanem egy másik 8 bites szám, aminek jellemzően egy adott bitje tér el a többitől. Innentől pedig az alap bitműveletek kellenek (és,vagy,xor,negálás)
Amit csinálsz, azt szokták flageknek hívni, minden bitnek megvan a saját jelentése.Nem kell túlgondolni az elképzelést:
1101 & 0010 = 0000 (bit ellenőrzés)
1101 | 0010 = 1111 (bit beállítás)Gyakorold valamennyit papíron, lehet az segít abban, hogy lásd, hogy melyik művelet mire jó.
Pl. 1-es bittel éselés az adott bit értékét fogja kiköpni, 0-ással(1011) az adott bitet állítod garantáltan nullára.A flagekre visszatérve: ilyesmit szoktak csinálni, hogy:
Option1 = 1 (001)
Option2 = 2 (010)
Option3 = 4 (100)Options = 101 esetén az option 1 és 3 van bekapcsolva.
Bár lehet, hogy te pontosan erre akarod használni."C bitjei balról jobbra vannak számozva, 0tól kezdődően 7ig. Function szerűen kéne"
Szerintem jobbról balra számozd a biteket, akkor a természetes bitsorrendet kapod és a 001 = 1-et jelent majd decimálisan, az 100 meg 4-et pl.
A 0-ás indexű bit a 2^0-át jelenti, az 1-es a 2^1, stb.stb.Ha kérdésed van bitekkel kapcsolatban, akkor kérdezz(akár privátban is rámírhatsz), ezzel relatíve sok gyakorlatom van.
-
Domonkos
addikt
válasz
Hunmugli #3797 üzenetére
Ha a leheto legegyszerubben akarnam megcsinalni, akkor valahogy igy tennem:
C N. bitjenek beallitasa:
C |= (1<<N);
Egyetlen bit torlese:
C &= ~(1<<N);
Egyetlen bit lekerdezese:
C & (1<<N);
Itt termeszetesen a legkisebb helyiertektol es 0-tol szamozodnak a bitek. Hogy hogy ontod osztalyba, mar rad bizom.
Meg par ellenorzessel is elferne.
Ha jol optimalizal a fordito, akkor ez a legtobb architecturan egy-egy utasitas lesz a binarisban.
Ú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!
- btz: Internet fejlesztés országosan!
- Autós topik
- Háztartási gépek
- Sony MILC fényképezőgépcsalád
- Egyéni arckép OFF
- Kerékpárosok, bringások ide!
- Megjött a Honor szuperakkumulátoros mobilja
- Bittorrent topik
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- További aktív témák...
- Eladó Dell Venue 11 Pro 7139 i5-4300y 4gb 128gb
- Samsung Galaxy A71 Olcsón, megbízható állapotban 28.000 Ft (fix ár)
- Akcio! Csere-Beszámítás! Gigabyte Vision RTX 3070Ti 8GB GDDR6X OC Videokártya!
- LOQ 15IRX9 15.6" FHD IPS i5-13450HX RTX 4060 16GB 1TB NVMe magyar vbill gar
- Csere- Beszámítás! Asus Rog Strix B550-F Gaming Wi-Fi II Alaplap
- Prémium! Felsőkategória! Asus Rog Strix Maximus Z790 Hero Wi-fi Alaplap!
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
- BESZÁMÍTÁS! Gigabyte Z390 i7 9700 16GB DDR4 512GB SSD GTX 1070 8GB Rampage SHIVA ADATA 600W
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Geforce GTX 1050, 1050 Ti, 1060, 1650, 1660 - GT 1030 - Low profile is (LP)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest