Software > Coding

CC65: Bitmanipulation

<< < (2/2)

AltF4:
Mit den Variablennamen aus Deinem Code müsste das dann so aussehen:


--- Code: ---var4 =  meine16bit        & 0x01;
var3 = (meine16bit >>= 1) & 0x1F;
var2 = (meine16bit >>= 5) & 0x1F;
var1 = (meine16bit >>= 5) & 0x1F;
--- Ende Code ---

Gruß,
Ralph

matashen:
Hey cool Danke, werd das wohl bald ausprobieren...

Gruß Matthias

matashen:
So, jetzt bin ich mal weider an dem Punkt wo ich das Wissen von euch benötige.

Ich packe 3 verschieden Werte in einen 16Bit Integer(unsigned)

for (i=1;i<9;i++)
   {   
   zw=0;
   zw=bei_feld;
   zw<<=6;
   zw=zw+manyaddons;
   zw<<=7;
   zw=zw+jail;
if (write_eeprom(i+8,zw)) TextOut2(11,80,11,0,".");
   }

so und zurückholen und in einzelteile zerlegen
for (i=1;i<9;i++)
   {
   zw=EE_Read(i+8);
   jail=(zw & 0x07);
   zw>>=3;
   manyaddons=(zw & 0x7F);
   zw>>=7;
   bei_feld=(zw & 0x3F);
   }
Leider stimmen die Werte vor dem packen und nachdem entpacken nicht zusammen, und ich erkenn absolut den Fehler nicht.
Hier also die Frage: Was mach ich falsch???

Gruß Matthias
   

gstoll:
Leer

matashen:
Oh ja,
da hab ich was total durcheinandergeschmissen.

Danke

Gruß Matthias

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln