Det vill jag dela upp till två variabler. Så att i detta fallet X = 0100 (dvs 4). Y = 0010 (dvs 2.)
Programmerar som vanligt i MikroBasic, men matte är ju ett universiellt språk.
MikroBasic har kommandon som kan dela upp ett word till två bytes, men jag har inte hittat något som delar upp en byte till två 'grupper' med 4 bytes i varje.
Först trodde jag att jag löst det. Jag gjorde såhär:
(Psuedo-kod, mellanslag i binära tal för att det ska vara lättare att läsa.)
Talet som ska delas upp = 0100 0010 (dvs 66)
x = Talet + 990
x är nu 0100 0010 0000.
oversta = hi(x)
'oversta innehåller nu 0100
under = lo(x)
'under innehåller nu 0010 0000
understa = under - 30
'understa innehåller nu 0010
Men det är ingen bra lösning på andra tal eftersom det är en statisk uträkning. Om Talet som ska delas upp är t.ex 0010 0000 så blir oversta 11 och understa 1110 0000.
Det måste ju finnas bättre sätt att lösa detta. Hur?
AND fungerar ju för att få t.ex 1111 1111 att bli 1111 1111 0000. Men sedan måste jag ju få 1111 0000 till att bli 1111. Om jag löser den biten så behövs visserligen ingen AND. Hmm.. har jag missat någon logik-operator.
Jag ska förresten använda det till en liten rutin för en LCD som ska fungera såhär:
*Lägg in t.ex "Hej" i en sträng.
*Plocka ut bokstav för bokstav och gör om till ascii-kod.
*Dela upp ascii-koden (t.ex 32) till två delar, dvs 0010 och 0000. Skicka först 0010 och sedan 0000 till LCD'ns.
Det är alltså den sista punkten som jag behöver hjälp med.
Om jag förklarat rörigt så är det bara att ropa.
