Kezdőoldal » Számítástechnika » Programozás » Bináris szám művelet hogyan?

Bináris szám művelet hogyan?

Figyelt kérdés

Ha van egy 8 bites bináris számom amit ismerek, hogyan tudom legegyszerűbben kicserélni n-edik bitet az általam megadottra, függetlenül az eddigi értékétől az adott bitnek?

Példa: 10000000-nek második helyiértékére szeretnék 1-et írni. Ez most nulla, de lehetne egy is. Az előző állapotától függetlenül legyen 1. Ugyanígy előző állapotától függetlenül legyen 0.



2021. márc. 9. 08:17
1 2
 1/20 anonim ***** válasza:
48%

Eloszor ES muveletted kinullazod azt a bitet fuggetlenul hogy 1-es vagy 0 all ott:


10000000 AND 11111101


utana VAGY muvelettel 1-be allitod:


(10000000 AND 11111101) OR 00000010

2021. márc. 9. 08:20
Hasznos számodra ez a válasz?
 2/20 anonim ***** válasza:

tulajdon kép mindegy, h mit írsz ki az előzőtől függetlenül?

11000000 vagy 01000000 teljesen más értékek.

2021. márc. 9. 08:21
Hasznos számodra ez a válasz?
 3/20 anonim ***** válasza:
0%
Úgy, hogy kiolvasod, majd szükség szerint negálod (NOT) az n-edik bitet.
2021. márc. 9. 08:42
Hasznos számodra ez a válasz?
 4/20 anonim ***** válasza:
100%

Ha csak egy bitet kell megváltoztatni (itt pl. a másodikat), akkor

Ha 1-re akarod beállítani: x OR 00000010

Ha 0-ra akarod beállítani: x AND 11111101

2021. márc. 9. 09:00
Hasznos számodra ez a válasz?
 5/20 anonim ***** válasza:
0%
BitMask xor (1 shl n)
2021. márc. 9. 09:04
Hasznos számodra ez a válasz?
 6/20 anonim ***** válasza:
0%
Az #1 valasz a jo, mert azzal barmilyenre lehet allitani, 0-ra is es 1-re is ha fuggvenykent megirja.
2021. márc. 9. 09:05
Hasznos számodra ez a válasz?
 7/20 anonim ***** válasza:
0%
Remélem a kérdezőnek nem az minden vágya, hogy processzorokat tervezzen, ugye?
2021. márc. 9. 09:23
Hasznos számodra ez a válasz?
 8/20 A kérdező kommentje:
Hú, ahogy sejtettem, nagyon sokan félreértették. :( Nem ennyire triviális. Olyasmire gondoljatok, mint a modbusnál a coil! Nem akarom vizsgálni az előző állapotát a bitnek átírás előtt, pont ez lenne a kérdés lényege. Ha én az elsőre 1-et, a másodokra 0-át, a harmadikra akármit akarok írni, azt akkor az az előző állapotától függetlenül a bitnek az legyen. DE A TÖBBI BIT VÁLTOZATLAN MARADJON, mert azok is állapotokat tárolnak. Azért erőletem ezt, mert EEPROM-ba fogom írni és onnan olvasni ha kell. Ha egyik bit sem változik az előző állapothoz képest, akkor nem frissíteném az LCD-t. Az OR és XOR nem jó, mert akkor vizsgálnom kell az előző állapotot! Persze, akkor tiszta sor lenne. A legegyszerűbb megoldást keresem az x-edik bit felülírására.
2021. márc. 9. 12:06
 9/20 anonim ***** válasza:
0%

Már bocs, de ennyire tényleg nem lehetsz sötét.


Készítesz bitmaszkokat és a kivánalmadnak megfelelően rámaszkolod a tartalomra. Ezt NEM LEHET olvasás nélkül megúszni.

2021. márc. 9. 12:19
Hasznos számodra ez a válasz?
 10/20 anonim ***** válasza:
0%

Milyen kontrolleren próbálod te ezt?

Mert PC-n nincs bitszintű manipuláció, de bizonyos kontrollereken, low end processzorokon van.

2021. márc. 9. 12:21
Hasznos számodra ez a válasz?
1 2

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!