اطلاعیه

Collapse
No announcement yet.

مشکل با انواع داده در بسکام

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با انواع داده در بسکام

    سلام .
    من میخام عدد داخل یه رجیستر رو تو بسکام به یه عدد دیگه تقسیم کنم ولی
    وقتی از نوع int استفاده می کنم بعد اعشار رو از دست می دم .
    وقتی یه کاراکتر رو توی یه double می ریزم تا بعدش تقسیم کنم عدد صفر تو double می ریزه .
    توی سی قسمت سمت راست تساوی رو به نوع قسمت چپ تبدیل می کرد بعدش می ریخت تو داده سمت چپ.
    ای با من و پنهان چو دل از دل سلامت میکنم توکعبه ای هر جا روم قصد مقامت می کنم
    هر جا که هستی حاضری از دور در ما نا ظری شب خانه روشن میشود چون یاد نامت میکنم
    گه همچو باز آشنا بر دست تو پر میزنم گه چون کبوتر پرزنان آهنگ بامت می کنم

    مرا گویی تورا با این قفس چیست من چه دانم ، من چه دانم اگر مرغ هوایی این قفس چیست من چه دانم ، من چه دانم من چه دانم

    #2
    پاسخ : مشکل با انواع داده در بسکام

    فکر می کنم سوال خیلی سختی پرسیدم که تو این سایت کسی بلد نیست. نه ؟
    ای با من و پنهان چو دل از دل سلامت میکنم توکعبه ای هر جا روم قصد مقامت می کنم
    هر جا که هستی حاضری از دور در ما نا ظری شب خانه روشن میشود چون یاد نامت میکنم
    گه همچو باز آشنا بر دست تو پر میزنم گه چون کبوتر پرزنان آهنگ بامت می کنم

    مرا گویی تورا با این قفس چیست من چه دانم ، من چه دانم اگر مرغ هوایی این قفس چیست من چه دانم ، من چه دانم من چه دانم

    دیدگاه


      #3
      پاسخ : مشکل با انواع داده در بسکام

      نوشته اصلی توسط Dr.j
      سلام .
      من میخام عدد داخل یه رجیستر رو تو بسکام به یه عدد دیگه تقسیم کنم ولی
      وقتی از نوع int استفاده می کنم بعد اعشار رو از دست می دم .
      برای از دست ندادن قسمت اعشاری باید حاصل تقسیم رو تو یه متغیر از نوع single بریزین.

      دیدگاه


        #4
        پاسخ : مشکل با انواع داده در بسکام

        سلام

        حق با آقا احسانه باید متغیرتون رو از نوع single تعریف کنید.
        یکی از مزایایی که زبان بیسیک داره در کار با متغیرها و تبدیل خودکار اونها به هم هست ، ضمنا این زبان برنامه نویسی در کار با رشته ها غوغا کرده.

        ---------------------------------------

        www.mrkelectronic.blogfa.com

        اَللّهُمَ صَلّ عَلي مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم

        {خلاف قوانین}
        [img width=124 height=100]http://mortezark.persiangig.com/image/Web/6_3.PNG[/img]

        دیدگاه


          #5
          پاسخ : مشکل با انواع داده در بسکام

          این مشکل تمومی نداری !!! :cry2:
          با متغیر Double
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه


            #6
            پاسخ : مشکل با انواع داده در بسکام

            آقای عزیز!
            فرق یک متغیر اعشاری با متغیر صحیح در اینه که یک متغیر صحیح دارای مقداری متعلق به مجموعه اعداد صحیح هست. یعنی به ازای یک عدد صحیح فقط و فقط یک نقطه منحصر بفرد روی محور اعداد پیدا میشه. اما یک عدد اعشاری مربوط به یک نقطه نیست. مربوط به یک محدوده هست. و لازمه این مورد داشتن دقت یا بهتر بگیم محدوده خطا هست. وقتی یک عدد مثل 1234567890 قراره در یک متغیر اعشاری از نوع single ذخیره بشه؛ فقط ارقام 1234567 اون در عدد نهایی ذخیره میشه و قسمت توان اون برابر با 9 میشه. حالا اگر به یک همچین عددی یک واحد اضافه یا کم کنیم چون مربوط به تغییرات در محدوده خطای این عدد میشه اصلا نه قابل دید هست و نه قابل اعتماد. برای نوع double این تعداد ارقام حدود 15 رقم هست. بنابراین درست رنج عددی این اعداد بالاست (برای single توان 38 و برای double توان 308) ولی اگر دقت مورد نیاز شما بیش از 8 واحد از توان عدد تون کمتر باشه اصلا در یک single اعمال نمیشه. یعنی برای یک single خیلی جاها پیش میاد که f = f + 1 و الزاما اینجا f مقدار صفر نداره.
            بنابراین اگر کلیه ارقام عدد فوق الذکر براتون مهمه و این تعداد ارقام از 15 تا بیشتره نه تنها single بلکه double هم بکارتون نمیاد.

            دیدگاه


              #7
              پاسخ : مشکل با انواع داده در بسکام

              ...
              این مورد هیچ ربطی به بسکام یا سی بودن نداره.

              دیدگاه


                #8
                پاسخ : مشکل با انواع داده در بسکام

                متغیر ها ربطی به زبان نداره قبول ولی وقتی من میخوام عدد
                مثلا :123456789123456789123456789/123456789123456789
                توی این متغیر بریزم و گرد نشه
                چی کار کنم :eek:
                یه عدد 20 رقمی با 10 رقم ممیر
                اون طور که من توی زبان های دیگه دیدم (البته نه توی میکرو بلکه توی ربان برنامه نویسی سطح بالا کامپیوتر مثل دلفی )
                متغیری داشتیم که تا 2.5 گیگ رم کامپیوتر میخواست جالبه میتونستی توش عدد هم بریزی !!
                فکر کنید یه عدد با ضرفیت 2.5 گیگ!!
                حالا ما 2.5 گیگشو نمیخوایم یه عدد 40 تا word بگیریه
                1024^40
                میتونه عدد بشمره
                2.582249878086908589655919172003e+120
                از 0 تا این مقدارم جا داره
                ولی من که نتونستم !!
                یعنی گفته شما درسته این عدد انقدر بزرگه که عملا واسش incr کردن معنی نداره !!!
                [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                دیدگاه


                  #9
                  پاسخ : مشکل با انواع داده در بسکام


                  با درود . . .
                  حامد جون فعال چند جا سوالت رو پرسیدی؟؟!!!!!! :mrgreen:
                  این استاد آقازاده هم تو همه تاپیک ها یه سری زده و جواب داده!

                  با سپاس
                  درد من تنهایی نیست؛ بلكه مرگ ملتی است كه گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حكمت خداوند می‏ نامند! "گاندی"

                  به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                  بدرود . . .

                  دیدگاه


                    #10
                    پاسخ : مشکل با انواع داده در بسکام

                    :sad:
                    3 ماه به زور دارم روی برنامه نویسی این جی پی اس کار میکنم الن دست منو بست واقعا فکر با عمل خیلی فرق داره !!!
                    انشالا رسیدنن به کار با رشته ها و کار با متغیر ها توی بیسکام میفهمید که معنی سختی برنامه نویسی چیه
                    اقا وحید جیگر
                    خلاصه من قصد جسارت ندارم گفتم شاید چند جا بگم بهتر بتونم به جواب بسم !!!
                    همتونم دوست دارم
                    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                    دیدگاه


                      #11
                      پاسخ : مشکل با انواع داده در بسکام

                      سلام
                      یه نگاهی به این لینک بنداز . مثال متغییر single رو ببین.گمانم جوابتو بگیری
                      http://www.qsl.net/pa3ckr/bascom%20and%20avr/variables/index.html
                      به نظرم بهتره ، اگه دقت زیاد میخواهی با تعداد رقمهای اعشار زیاد . بیایی از روشهای دیجیتال استفاده کنی
                      یه نگاهی به کتاب طراحی دیجیتال یا شبیه اینها بکن.
                      هميشه به ياد خدا باش !

                      دیدگاه

                      لطفا صبر کنید...
                      X