algoritmus kerdes

Acs Gabor agabor at electrodesign.hu
Wed Sep 26 23:29:08 CEST 2007


Ha egyszerűen akarnám megoldani, az én C fordítóm tud int1 változót, abból 
csinálnék bazi nagy tömböt, amibe bemásolnám a byteokat, vagy eleve ott 
tárolnám. Innentől bármi tök egyszerű.


Gábor

----- Original Message ----- 
From: "vajk fekete" <halaloszto at yahoo.co.uk>
To: <elektro at tesla.hu>
Sent: Wednesday, September 26, 2007 11:12 PM
Subject: Re: algoritmus kerdes


ja, es megegy:

egy ilyen szintu dolgot, ha a hatekonysag szamit, mindenfelekeppen 
assemblyben kell kigondolni, legfeljebb a vegen c-ben kodolod le.

ha nagyon-nagyon kritikus, akkor a 8-as periodust ki is lehet fektetni, vagy 
akar elore megirni 1-24-ig, optimalizalni es a fuggvenypointert allitgatni 
hogy melyiket hivja. Mondjuk valoszinuleg semmire nem mesz ha 8-asaval kurva 
gyors, 13-asaval meg sik bena.

bar lehet hogy hasznal ha a kis sliceokra gyorsabb mint a nagyobbakra, mert 
a kisebbre gondolom tobbszor hivjak...

akar lehetne csinalni egy verziot ami 1-8 bitet tud, egy masikat ami 9-16 es 
egy harmadikat ami 17-24 bitet, es a harom kozul a fv pointerrel szorakozni.

vajk

----- Original Message ----
From: vajk fekete <halaloszto at yahoo.co.uk>
To: elektro at tesla.hu
Sent: Wednesday, 26 September, 2007 10:59:10 PM
Subject: Re: algoritmus kerdes

persze, ez az alap, es utanna lehet trukkozni.

pl akarhany bites a szelet, minden 8-adik ugyanolyan offszeten fog kezdodni.

tehat ha pl 13 bites, akkor az elso az 0. biten kezdodik, a masodik az a 
masodik byte 5. biten, stb.

1. 0.
2. 5.
3. 2.
4. 7.
5. 4.
6. 1.
7. 6.
8. 3.

9. 0.


Tehat elore lehet csinalni egy nyolcsoros tablazatot, ami a maszkot, 
eltolast es a byteleptetest tartalmazza.

A 13 bites peldanal maradva: 13 div 8 felkerekitve: 2 byte egy slice.

Az algoritmus:
van egy pointer, ami a tombben azt mutatja honnan kell venni a kov sliceot. 
Ez csak byte pontos. Kezdetben 0.
van egy masik, ami a 8soros tablazaton jar korbe.

veszek a pointertol kezdve 3 db byteot.
a tablazatbol kiolvasom a maszkot, amivel andolva a felesleges bitek 
nullazodnak.
szinten a tablazatbol kiolvasom, hogy mennyit kell shiftelni, hogy a slice a 
3 byteos pufferem elejere keruljon.
szinten a tablazatbol kiolvasom, hogy most a tombpointert hany byte-al kell 
leptetni, leptetem. leptetem a tablazatpointert is.
kiadom a puffert


ha a tombot olvasni draga, akkor szorakozhatnek, hogy a felesleges bitek 
kimaszkolasa helyett/mellett atmasolom oket egy egybyteos atmeneti taroloba, 
es akkor minden korben egy byte-al kevesebbet kell olvasnom.

vajk






----- Original Message ----
From: Acs Gabor <agabor at electrodesign.hu>
To: elektro at tesla.hu
Sent: Wednesday, 26 September, 2007 10:30:34 PM
Subject: Re: algoritmus kerdes

Azért egy osztással ha kiszámolod, melyik byteban kezdődik, a maradékokat
meg kimaszkolod, a végén összeshifteled, szerintem nem olyan bonyolult.


Gábor

----- Original Message ----- 
From: "Fuzesi Arnold" <arnold.fuzesi.lista at gmail.com>
To: <elektro at tesla.hu>
Sent: Wednesday, September 26, 2007 7:59 PM
Subject: algoritmus kerdes


Hatékonyan 8 bites uC-n hogyan oldanátok meg C-ben:

van egy bazi nagy tömb. (n x 8 bit ugye)
ebből tetszőleges széles bitszeleteket kellene kivagni egymas utan sorban.
pl
13 biteseket.
vagy 5 biteseket
vagy 24 biteseket mondjuk 1-24 között.

De egy menetben mindig ugyan akkorákat.
Vmi nyelvi dolgot segítségül lehet hívni? Vagy fapadosan essek neki?

Köszi,
A.

-----------------------------------------
          elektro[-flame|-etc]

 _____________ NOD32 2550 (20070925) Információ _____________

Az üzenetet a NOD32 antivirus system megvizsgálta.
http://www.nod32.hu


-----------------------------------------
          elektro[-flame|-etc]







      ___________________________________________________________
Want ideas for reducing your carbon footprint? Visit Yahoo! For Good 
http://uk.promotions.yahoo.com/forgood/environment.html
-----------------------------------------
          elektro[-flame|-etc]







      ___________________________________________________________
Want ideas for reducing your carbon footprint? Visit Yahoo! For Good 
http://uk.promotions.yahoo.com/forgood/environment.html
-----------------------------------------
          elektro[-flame|-etc]

 _____________ NOD32 2550 (20070925) Információ _____________

Az üzenetet a NOD32 antivirus system megvizsgálta.
http://www.nod32.hu




More information about the Elektro mailing list