zaokroževanja a frakcijsko številko

M

mformazhar1980

Guest
Hi Guys
Moram krog več prvi in nato Oring z 128 lahko nekdo pomoč mi kako krog frakcionirne del hvala

Citat:

podpisan int a;

nepotpisani int b;

nepotpisani int c;

if (c <b)

(

a = 0,46 * (bc) | 128;

)
 
Termin "snowshoe" odnosi się do metody jaką spamerzy wykorzystują wysyłając swoje wiadomości przez duże obszary Internetu, ciągle utrzymując je na powierzchni, tak jak to robią rakiety śnieżne.

Read more...
 
Hai

bo treba storiti samodejno, ko so izjavili, "a", kot je celo

Nandhu

 
No, Nandhu, je res, da je decimalk bo izginila, ampak je rezultat ne bo zaokrožen pravilno.V najboljšem primeru bo okleščeno, v najslabšem primeru, bo 0, odvisno od implicitne konverzije, ki ga prevzame prevajalnik.

Za vgrajene bi Reportaža izraz takole:Koda:

a = (((podpisan dolgo) (0,46 * 100) * (bc) 50) / 100) | 128
 
Arthur
Rabim, da to za vgrajenih rešitev, če bom to
Za vgrajene bi Reportaža izraz takole:

a = (((podpisan dolgo) (0,46 * 100) * (bc) 50) / 100) | 128
vendar še vedno ne daje mi Rezultati

v mojem primeru sem to se lahko potem moje vprašanje bo bolj jasno, da vam moram stanju vrednosti spodaj v območju med 100

do -100
in sem s pomočjo atmega128 kot ciljne krovu
Imam dve mejni vrednosti, ki je HighLim = 652 in LowLim = 155
in srednjih vrednosti referenčnih so Ref_Hi = 475 in Ref_Lo = 372
funkcijo, mora vrniti po preverjanju vrednosti od 1 do
100 in nato
v primeru negativne vrednosti je treba vrniti -1 do -100.
vendar v tem trenutku lahko samo dobil ve vrednosti v zameno za-Ve vrednosti niso kondicioniranim pravilno (morda) to, zakaj sem ne bova ti,
u lahko osredotočil na funkcijo in predlagamo mi, kaj sem naredil, da se popravijo vrednosti
hvala

char Validate_Value (uword Value)
(

char Ret_Val = 0;
ubyte maska = 0;

uword HighLim = 652;
uword LowLim = 155;uword Ref_Hi = 475;
uword Ref_Lo = 372;ENTER_CRITICAL ();

/ / skaliranje vrednosti od -1 do -100 tako da je treba vrniti negativno vrednost (ta del se ne deluje!)
če (vrednost <Ref_Lo)
(
Vrednost = (((char) (0,46 * 100) * (Ref_Lo - vrednost) 50) / 100) | 128;
Maska = vrednost;
)
/ / skaliranje vrednosti od 1 do 100 (Ta del je DELOVNI ok)

če (vrednost> Ref_Hi)
(
Vrednost = (((0,56 * 100) * (Value-Ref_Hi) 50) / 100) 1;
Maska = vrednost;
)
)Ret_Val | = Maska;

EXIT_CRITICAL ();

vrnitev Ret_Val;
)

 
Oh, seveda ne boste dobili pričakovani rezultat ...
Pa poglejmo, kaj si naredil tukaj:Koda:

Vrednost = (((char) (0,46 * 100) * (Ref_Lo - vrednost) 50) / 100) | 128;
 
Thanks a lot Arthur je delo za mene.
Res sem zamudil to točko, da ima 2s dopolnjujejo,
upanje morem zaslužiti take dobre predloge v prihodnje od tebe.

 

Welcome to EDABoard.com

Sponsor

Back
Top