Hello mindenkinek!
Kis segitségre lenne szükségem.
Következő a problem: hogyan tudom megoldani bascomban azt hogy ha van két 8bites regiszterem, amit össze kéne füzni, és csak a felsö tiz bitre van szükségem binárisban .
Pl: a(byte)=11111111 b(byte)=11110000 -> c(word)=1111111111
elöre is kösz a segitséget!
10 bit
Kód: Egész kijelölése
dim a as byte
dim b as byte
dim c as word
a=&B01010101
b=&B11111111
C=B '0000000011111111
'Eltolja fel 8 bittel
C=C*256 '1111111100000000
c=c+a
'C ekkor: 1111111101010101
c=c or &b1111111111000000 'OR segitsegevelé maszkolod.
'OR: csak akkor 1 az ededmenyben a bit, ha az OR elotti es utaniban is 1
'C igy eredmeny:1111111101000000
Ha also ertekre el kell meg tolni, akkor:
Kód: Egész kijelölése
dim a as byte
dim b as byte
dim c as word
a=&B01010101
b=&B11111111
C=B '0000000011111111
'Eltolja fel 8 bittel
'C ekkor 1111111100000000
C=C+A 'C ekkor: 1111111101010101
shift C, right,4 'Az egeszet 4 bittel jobbra
'C ekkor 0000111111110101
'Es ez ar eredmeny