karmawhore

karmawhore profiilikuva
Joulu 2024
Vapaa kuvaus

Kotimaa: --- Koulutus: --- Ammatti: Muu Siviilisääty: --- Lapset: ---

Liittynyt 22v sitten
1 aloitusta · 279 kommenttia
Jos haluat saada nuo bitit nimenomaan kunkin omaan soluunsa, niin sitten ei helppo ratkaisu, eli DEC2BIN()-funktio toimi. Kyhäsin tuota rivitystä varten ainakin tietylle bittimäärälle toimivan hätäratkaisun.

Bittimaski on solussa A1 ja tarkastellaan kahdeksanbittisiä lukuja. Soluun A2 tulee 8. bitti (128), A3:een 7. bitti (64) jne. soluun A9 saakka (1. bitti, 1).

Soluun A2 kaava LEFT( DEC2BIN(A1;8) ;1). DEC2BIN(A1;8) muuttaa solun A1 arvon, esim. 84, 8-bittiseksi binääriluvuksi (01010100). LEFT() antaa siitä ensimmäisenä vasemmalla olevan merkin, nollan.

Soluun A3 kaava RIGHT( LEFT( DEC2BIN(A1;8) ;2)). Muuten sama kuin edellinen, mutta nyt LEFT( DEC2BIN(A1;8) ;2) antaa kaksi ensimmäistä merkkiä (01) tuosta binääriluvusta, joista RIGHT(...) poimii oikeanpuoleisimman (1).

Soluihin A4-A9 sama kaava kuin A3:een, mutta tuo viimeinen numero, LEFT:n toinen argumentti juoksee 3:sta 8:aan.

Jos bittimäärä on joku muu, tarvitsee muuttaa tuota DEC2BIN-funktion toista argumenttia ja luonnollisesti myös rivien määriä. Toivottavasti tämä auttaa.