Sari la conținut
ELFORUM - Forumul electronistilor

transformare nr zecimal in nr intreg in mikroBasic


Vizitator comma

Postări Recomandate

Vizitator comma

buna seara

pentru cei care lucreaza cu mikroBasic Pro (v4.15)

ma intereseaza cum pot sa aduc un numar cu zecimale la un numar intreg

ceva de genu:

a = 76 ' sa zivem ca e timpul masurat in ms de ma momentul x la momentul yb = 3 ' valiare fixa, scrisa in program la care vreau sa-l impart pe ac = a / b ' am nevoie ca valoarea lui "c" sa fie un numar intreg
in cazul de mai sus rezultatul "c" = 25.33333333

eu vreau sal transform in numar intreg, adica c = 25

ce trebuie sa scriu in program ca sa aduc un numar cu zecumala la un mumar intreg in microBasic

 

merci anticipat

Link spre comentariu
  • Răspunsuri 5
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Liviu M

    1

  • francezu

    1

Top autori în acest subiect

Vizitator comma

am pus mai jos un cod putin mai explicat

dim a as byte   dim b as bytedim cc as ????  ' asta nu stiu cum sa-l definescmain: '....     ' in urma unei proceduri care include un "do" <=> "loop until ..." imi rezulta "a"  a = ...    ' valoarea lui "a" e minim 0 ... maxim 250 ms in cazul meu ... adica asa l-am setat eu, maxim la 250 '.... '....  b = 70     ' b = 70% ... vreau sa fac cc = 70% din a ... sau cc = n% din a ... nu stiu la cat % o sa il setez        ' cu regula de 3 simple:        ' a   ....... 100%        ' cc  ....... 70 %          (adica "b")  cc = (a * b) / 100        ' in cazul in care "a" ar fi 175        ' cc = 122.5        ' si in cazul asta nu pot sa fac urmatoarea bucla ... si am neviue sa-l reduc pe "cc" la numar intreg ... in cazul meu 122  zz = 0 do     led = 1   zz = zz + 1   delay_ms (1) loop until zz = cc led = 0

dar pot sa-l definesc pe "a" ca word sau ca longword ... si poate sa fie mai mare de 255 ... ma intereseaza si varianta in care "a" este definit ca word sau longword

Link spre comentariu

In mod normal conversia din zecimal in intreg se face prin trunchiere sau rotunjire. In urma unei operatii de divizare, compilatorul mikroBasic face trunchiere, si pastreaza doar partea intreaga a rezultatului; exceptie face cazul cand destinatia rezultatului este o variabila de tip float. Deci daca definesti ca byte, word, etc, variabila in care salvezi rezultatul, nu trebuie sa-ti faci probleme, va fi trunchiat automat, pentru a fi compatibil cu tipul variabilei tale.

Link spre comentariu
Vizitator comma

gata ... am descoperit ... defapt am citit mai bine manualul

cc = (a * b) / 100devinecc = a * b div 100     ' si rezultatul este 122
ca sa stie si altii in caz ca au nevoie
div                                            Division - round down

DIVISION BY ZEROIf a zero (0) is used explicitly as the second operand in the division operation (x div 0), the compiler will report an error and will not generate a code. In case of implicit division where the second operand is an object the value of which is 0 (x div y, where y=0), the result will be undefined.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări