سلام دوستان من در حال نوشتن یه برنامه در بسکام بودم که به عدد اعشاری نیاز پیدا کردم .یه چی تو مایه های همون float در c .اگر کمکم کنید ممنون میشم. :nice:
اطلاعیه
Collapse
No announcement yet.
عدد اعشاری در بسکام
Collapse
X
-
پاسخ : عدد اعشاری در بسکام
اقا یه سوال دیگه من وقتی این single رو مثلا 10 میذارم و به 3 تقسیمش میکنم میشه
333333/3 راهی برای محدود کردن عدد بعد اعشار هست ?میشه single و ول کرد و نوشت
dim a as byte
dim b as string*3
a=10
a=a/3
b=a mod 10
lcd a; "/" ;b
end
????????به جای اینکه یه اقیانوس کم عمق باشی, یه چاه ژرف باش.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
دوستان من یه برنامه اهم متر نوشتم.البته احتیاج به یه کم کالیبره کردن محاسباتش هست اگه برنامه از نظر شما اساتید ایراد داره بگید تا کامل کنم و بذارم تو کامل شده ها. :bye
$regfile = "m32def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , Rs = Portd.5 , E = Portd.6
Config Lcd = 16 * 2
Dim A As Word
Dim G As Word
Dim B As Single
Dim I As Byte
Deflcdchar 0 , 32 , 14 , 17 , 17 , 10 , 27 , 32 , 32 'alamate ohm
G = 0
Cls
Cursor Off
Do
Do
For I = 0 To 5
A = Getrc(pind , 0)
G = G + A
Next I
G = G / 5
B = G * 0.024
If B < 1 Then
B = B * 1000
Goto Zire1000
End If
Home
Lcd B
Locate 1 , 6
Lcd " k" ; Chr(0) ; " "
Loop
Zire1000:
Home
Lcd B
Locate 1 , 6
Lcd " " ; Chr(0) ; " "
Loop
End
به جای اینکه یه اقیانوس کم عمق باشی, یه چاه ژرف باش.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
برنامه ایراد داره. وقتی متغیر G رو Word نعریف می کنی نمی تونی اون رو تو یه عدد اعشاری ضرب کنی. چون برنامه اون رو به صورت عدد صحیح فرض می کنه.
با String هم نمیشه کار کرد چون به هیچ هنوان مربوط به محاسبات عددی نیست. بقیه برنامه رو من نگاه نکردم. برای اینکه بهتر بتونی روند برنامه رو بفهمی یه Sim$ اول برنامه بذار و کامپایل کن ، بعد برنامه رو با سیمولاتور خط به خط اجرا کن.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
ممنون
حامد عزیز من این مدار رو بستم و جواب گرفتم.در مورد ضرب نشدنشم من فکر میکنم که چون حاصلضرب قراره در متغیر B که single هست ریخته شه همه چی حله کامپایلر error نزد من رو lcd یه متغیر با کلی عدد اعشار دارم.مثلا شما فکر کن 2*5/2=5 .یعنی 2 که صحیحه با 5 که کار نداره.اگه قبول نداشتی بیا بحثو ادامه بده.در ضمن بابت جواب ها ممنون
:job:
به جای اینکه یه اقیانوس کم عمق باشی, یه چاه ژرف باش.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
از این که جواب هایی که گرفتی دقیق نیستن مطمئنم. چون ضرب یه عدد اعشاری در یک عدد صحیح میشه یه عدد اعشاری. ولی تو اونو تو یه عدد صحیح ریختی( Word ).ضمنا من گفتم استفاده از String تو این حالت اشتباهه نه Single.
کافیه تو سیمولاتور یه سری اعداد مختلف بدی نتیجه رو می بینی.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
حامد جان از اینکه به سوال هام جواب میدی ممنون ولی من که تو کتم نمیره شما چی میگید.من فقط G رو یه بار برای معدل گیری تقسیم به 5 کردم.شما خودت میگی ضرب یه عدد اعشاری در یک عدد صحیح میشه یه عدد اعشاری خوب من حاصلضرب رو در B ریخیتم.من یه کم کند ذهنم.اگه میشه اون قسمتی رو که شما میگی اشتباهه رو بنویس.شما خودت مو سفید کرده این کاری ولی به نظر ناقص من خود شما گفتی SINGLE اعشاریه.بعد هم میگی حاصلضرب بالا اعشاریه .خوب حاصلضرب که رفته تو B که اعشاریه.ببخشید که مزاحم وقتت شدم بازم از اینکه به سوالام جواب میدی ممنون :job:.به جای اینکه یه اقیانوس کم عمق باشی, یه چاه ژرف باش.
دیدگاه
-
پاسخ : عدد اعشاری در بسکام
شاید منظور دوستمون اونجاییه که نوشنی g=g/5 درحالی که خود g یه متغیر از نوع word هست و این باعث میشه جوابت تبدیل به عدد صحیح بشه و دقتش رو از دست بده
ضمنا برای نشون دادن عددت با یه فرمت دلخواه میتونی از fusing استفاده کنی
سه سری به هلپ خود بیسکام بزنی توضیح دادهاستفاده راحت از رپیدشیر و مگاپلود و سایر سرورها
http://rapidbaz.com/from/26877
دیدگاه
دیدگاه