Óra, perc hét biten. Hogyan?
Órát, percet (másodpercet) szeretnék ábrázolni olyan rendszerben, ahol a számok -128 és 127 között ábrázolhatók csak. Tehát nyolc bit a legnagyobb "hely" ahova bele kell férnie az időnek. Az MSB fennmarad az AM/PM-nek, így marad mindössze 7 bit. Ezen meg hogyan?
Kétszer 8 bitet használhatok, de nem vonhatom össze azokat.
7 (8) biten nyílván sehogy. Nyolc biten 2^8=256 bitsorozathoz tudsz elemeket rendelni, de óra és perc ábrázolásához 24*60=1440 különböző elemhez kellene egyedi bitsorozatot rendelni.
Ha viszont van kétszer nyolc bited, akkor megadható egy megfeleltetés az idő és a bitsorozatok között, mivel 2^16 > 24*60. Hiába nem vonható össze a 2x8 bit, attól kezelheted őket együtt.
Pl percben méred az időt. A 2x8 bitet úgy kezeled, mintha egy 16 bites szám lenne. 0-ról indul az idő és a neki megfelelő bitsorozat is. Ha növeled 1 perccel az időt, akkor a 16 bites számot is. Csak azt kell leprogramoznod, hogy a szám a növelés erdeményeként 2x8 biten úgy legyen ábrázolva, mintha 1x16 biten lenne.
Másodpercet hozzávéve még így sem fog működni, mert 2^16 < 24*60*60.
A válaszodat köszönöm, tökéletes.
Ezt mondjuk eddig is tudtam, de hogy így leírtad, adott egy használható ötletet, amire enélkül nem jöttem volna rá.
Nekem tulajdonképpen elég a mp-nél nagyobb felbontás is, így a rendszeridőt kiolvasva, azt transzkódolom olyan felbontásra, amely belefér 16 bitbe.
Ez azt jelenti majd, hogy ugyan csak 2 mp pontossággal de eltárolhatom az időt két byte-on, ráadásul a másodpercekkel együtt.
Mégegyszer: köszönöm a segítségedet.
vagy pedig az első 8 biten tárolod a perceket (6 bit) a második 8 biten pedig az órát (5 bit).
Szerintem ez egyszerűbb, mert az adott byte-ot kiolvasva rögtön megkapod az óra és perc értékeket.
Nem mintha az első hozzászóló javaslata bonyolult lenne...
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!