Egy kis matek...

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00

Egy kis matek...

Hozzászólás Szerző: dummy »

Adott az alábbi képlet, keressük az "X"-et:

log10(X) = log10(A)+B

X, A és B Single típusú változó.

Az egyenlet jobb oldalát egy segédváltozóban tároltam, amely szintén Single.

Így log10(x) = segéd.

Elvileg a log10 ellenpárja a Power(alap, kitevő) függvény. Itt az alap 10, a kitevő pedig a segéd.

X = Power (10, segéd)

Ám erre a Bascom azt "mondja", hogy Single expected[10].

Namost, a Power függvény leírása meg ezt írja:

"Action
Returns the power of a single or double variable and its argument"
(A kiemelés tőlem származik).

Így most nem értem, mi baja van, miért nem számol?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az X= Power (10, seged) eseten a 10 itt CONST típus!

A helyes megoldas:
tiz = 10
X = Power (tiz, seged)

Ez már megy.
Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00

Hozzászólás Szerző: dummy »

Kis ravasz! :)

Köszönöm a segítséget!
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

Sziasztok!

Pár órája filózok egy feladaton, de nem jut eszembe a megoldás, gondoltam írok ide, mindig jó tanulni :)
mondjuk 43518 másodpercet, hogyan tudnám órára, percre, másodperce.. alakítani bascomban, egyszerűen? :)
tehát kb erre gondoltam:
óra: 4
perc(tizes):3
perc(egyes):5
mp(tizes):1
mp(egyes):8

Megfejtésre jutalmat küldök :)
Geht nicht, Gibt's nicht!
Avatar
Franz
DrótVégénSzéndarab
Hozzászólások: 43
Csatlakozott: 2009. május 29. péntek, 6:00

Hozzászólás Szerző: Franz »

Szia!
Egyes:
-43518/10=4351,8 -> töredéket elvenni ->4351
-43518 - 10*4351 = 8
Tízes:
-43518/100=435,18 -> töredéket elvenni -> 435
-43518 - 100*435 = 18
-18/10 = 1,8 -> töredék elvesz -> 1

Ezen az analógiával bármeddig lehet menni.
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

Franz írta:Szia!
Egyes:
-43518/10=4351,8 -> töredéket elvenni ->4351
-43518 - 10*4351 = 8
Tízes:
-43518/100=435,18 -> töredéket elvenni -> 435
-43518 - 100*435 = 18
-18/10 = 1,8 -> töredék elvesz -> 1

Ezen az analógiával bármeddig lehet menni.
No igen, ilyent már írtam én is, de egy perc 60(!) másodperc, és nem 100 :)
Geht nicht, Gibt's nicht!
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

Franz írta:Szia!
Egyes:
-43518/10=4351,8 -> töredéket elvenni ->4351
-43518 - 10*4351 = 8
Tízes:
-43518/100=435,18 -> töredéket elvenni -> 435
-43518 - 100*435 = 18
-18/10 = 1,8 -> töredék elvesz -> 1

Ezen az analógiával bármeddig lehet menni.
Amúgy, köszönöm, hogy válaszoltál ! :!:
Geht nicht, Gibt's nicht!
Avatar
Franz
DrótVégénSzéndarab
Hozzászólások: 43
Csatlakozott: 2009. május 29. péntek, 6:00

Hozzászólás Szerző: Franz »

Ááh, értem mi is a gondod.
-43518/3600(=1óra) = 12,0833 -> töredék elvesz ->12 óra
-43518-12*3600=318
-318/60 = 5,3 -> töredék elvesz -> 5 perc
-318-5*60 = 18mp
Ha szükséges akkor még szét tudod bontani az előbbiekben irt eljárás szerint az órát,percet,mp-t egyesekre tizesekre.
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

--
A hozzászólást 2 alkalommal szerkesztették, utoljára evildodo 2010. május 15. szombat, 15:10-kor.
Geht nicht, Gibt's nicht!
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

Franz írta:Ááh, értem mi is a gondod.
-43518/3600(=1óra) = 12,0833 -> töredék elvesz ->12 óra
-43518-12*3600=318
-318/60 = 5,3 -> töredék elvesz -> 5 perc
-318-5*60 = 18mp
Ha szükséges akkor még szét tudod bontani az előbbiekben irt eljárás szerint az órát,percet,mp-t egyesekre tizesekre.
Az elv jónak néz ki, csak az a baj, hogy nem én jöttem rá :)
Mindjárt átírom Bascomra, és jöhet a próba :) Amúgy, "Mitiszóó"?? :)
Köszi helpet!Add a címed, küldök valamit Neked, hisz megígértem :)
Geht nicht, Gibt's nicht!
Avatar
Franz
DrótVégénSzéndarab
Hozzászólások: 43
Csatlakozott: 2009. május 29. péntek, 6:00

Hozzászólás Szerző: Franz »

Igazán nincs mit! Remélem sikerült megoldani. (pü. ment)
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Szia!
A TIME függvény nem ezt csinálja?
JAni
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A time az a letárolt adatokat adja vissza, a léptetéskor számolja ki az egyes értékeket...
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Csak azért gondoltam, mert a HELPben ez van:

Lsyssec = 123456789
Bsec = Time(lsyssec)
Print "System Second " ; Lsyssec ; " converted to Sec=" ; Bsec ; " Min=" ; Bmin ; " Hour=" ; Bhour

Akkor félreértettem...

JAni
Avatar
broland
Tranzisztorgyógyász
Hozzászólások: 152
Csatlakozott: 2009. április 20. hétfő, 6:00

Hozzászólás Szerző: broland »

Sziasztok

Háát ez is egy kis matek, lehet, hogy tök egyszerű, de nem jövök rá:
Adott a mega128 aref bemenetén 3.3V, és egy SY-HS-230 páratartalom mérő kimenete az adc lábon(ez max 3.3V lehet 95% páratartalomnál).

Namost, egy adc egység= 3.3V/1024=0,00322265625 (ez ugye single?)
Ha visszaszorozgatom (adc_egység*0,00322265625), és kiírom nagyon szépen, és pontosan mutatja a bemeneti feszültséget.
De nekem nem kell ez a csiribiri pl 0,3931640625, hanem csak ennyi 0,39.

Ide-oda konverziókkal sikerül is kiszednem, de nem lesz pontos, és nem szép a kivitelezés :):):):):)

Tudnátok valami ötletet adni?

Előre is köszi.

Üdv Roland
Válasz küldése