اطلاعیه

Collapse
No announcement yet.

|**| مشکل دقت اعداد اعشاری در کدویژن

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

    |**| مشکل دقت اعداد اعشاری در کدویژن

    سلام دوستان
    کلافه کرده این کدویژن ما رو :angry:

    من از ورژن های 2.04 و 2.05 استفاده کردم موقع استفاده از double (که 15رقم اعشار داره و بسیار مناسب کار من هستش) این وارنینگ رو میده:
    Warning: ... the 'double' data type is supported only in the Advanced or Professional version, defaulting to 'float'
    در صورتی که من هم ورژن advance رو دارم و هم Professional !!!!

    حالا از این که بگذریم اگه با float کار کنی در اصل باید 7رقم اعشار داشته باشه اما عملا در نتیجه تا 2-3رقم اعشار میده!!! :angry:
    چیکار کنم به نظرتون؟
    اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

    #2
    پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

    نوشته اصلی توسط ☺بابابرقی☺
    سلام دوستان
    کلافه کرده این کدویژن ما رو :angry:

    من از ورژن های 2.04 و 2.05 استفاده کردم موقع استفاده از double (که 15رقم اعشار داره و بسیار مناسب کار من هستش) این وارنینگ رو میده:
    Warning: ... the 'double' data type is supported only in the Advanced or Professional version, defaulting to 'float'
    در صورتی که من هم ورژن advance رو دارم و هم Professional !!!!

    حالا از این که بگذریم اگه با float کار کنی در اصل باید 7رقم اعشار داشته باشه اما عملا در نتیجه تا 2-3رقم اعشار میده!!! :angry:
    چیکار کنم به نظرتون؟
    ظاهرا چون از ورژن کرک شده استفاده میکنم نمیشه از double استفاده کرد :angry:
    اما خوب float رو که باید تا 6-7 رقم اعشار جواب بده :angry:
    با این اوصاف کسی راه حل دیگه ای نداره؟ کارم یکم فوری و عجلیه :redface:
    اصلا کسی از دوستان ورژن دیگه ای از کدویژن سراغ داره که double رو ساپورت کنه؟
    ممنون دوستان...
    @};-
    اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

    دیدگاه


      #3
      پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

      میخوام یه کمی خشن صحبت کنم!
      اولا هر کسی خربزه میخوره پای لرزش میشینه. وقتی کامپایلری مثل IAR هست چرا میرین سراغ کد ویژن؟
      ثانیا کی گفته نوع float هفت تا هشت رقم اعشار میده؟ حرف درست اینه که 7 تا 8 رقم با معنی میده. یعنی شما جمع ارقام قسمت اعشار و غیر اعشار روی هم؛ 7 تا 8 دارین. یعنی میتونه عددی مثل 12345.67 بده یا 1.234567.
      عدد double هم همینطوره. اگر عددی مثل 1234567890.12345 داشته باشین میشه 15 رقم بامعنی. و نه 15 رقم اعشار.

      خارج از شوخی. آقای "بابا برقی"! (شرمنده اسمتون رو پیدا نکردم. کلا من با استفاده از این فروم مشکل دارم!! :sad

      دوستانه توصیه میکنم حالا که به این مورد بخصوص رسیدین یک بار هم با IAR کار کنین. WinAVR هم توصیه نمیکنم. چون اصولا نوعی بنام double رو در لایبرری هاش نداره.

      پی نوشت:
      دیدین چه خوب اصل مسئله رو پاک کردم؟ بد نیست برم سیاستمدار بشم!!
      :mrgreen:

      دیدگاه


        #4
        پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

        ممنون آقا رضا بایت خشن صحبت کردنتون
        (شرمنده اسمتون رو پیدا نکردم...
        مخلص شما،آقا مسعود هستم :mrgreen:
        ؟ حرف درست اینه که 7 تا 8 رقم با معنی میده
        بسیار ممنون، من اینو نمیدونستم، اما حقیقتش با برداشتی که قبلا داشتم به تناقض خورده بودم که چطور میشه در هر حالت با 4بایت جوبگو باشه!!
        دوستانه توصیه میکنم حالا که به این مورد بخصوص رسیدین یک بار هم با IAR کار کنی...
        واقعا منم دلم میخواد اما آیا به نظر شما تو 2روز میشه IAR رو به حدی یادبگیرم که بتونم حدود 1500-2000 خط برنامه رو به از CV به IAR پورت کنم؟

        من هیچ دیدی از این کامپایلر ندارم، شما که با جفتشون کار کردین لطفا یه توضیح در موردش و تفاوتاش و کتابخونه هاش و... بدید که ایشالا به مرور برم تو کار IAR
        اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

        دیدگاه


          #5
          پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

          من با float تو کدویژن 2.05 کار کردم مشکلی نداشتم تا 8 تا رقم داشتم مثل 21.123456 یعنی شش رقم اعشار
          تو اين جهان 7 ميلياردي من معني ندارد و اگه تو اين دنيا فقط 1 نفر وجود داشت باز هم من معني نداشت

          دیدگاه


            #6
            پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

            ممنون
            اگه مثلا این عدد رو: 8654712.101244 رو میشد داخل float ریخت خیلی باحال میشد :mrgreen: اما خب نمیشه و به ناچار باید از double استفاده کرد که کدویژن کرک شده این قابلیت رو نداره :angry: :cry:

            اگه کسی کدویژن با قابلیت کار با double رو داره بذاره عالیه :agree: :wow:
            اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

            دیدگاه


              #7
              پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

              یه گشت و گذاری زدم، گزینه های پیش روم فعلا اینا هستن:
              1- خریدن ورژن advance از جناب کدویژن oo:
              2- استفاده از کامپایلر winavr (چون نزدیکترین کامپایلر به CV هستش، IAR خیلی سخت تر به نظر میاد :angry
              3- خودم بیام و با همین کدویژن، متغیر double (با قابلیت انجام محاسبات ریاضی) رو برای خودم شبیه سازی کنم :cry:

              که فکر میکنم بالاخره مجبور به اجرای گزینه 2 بشوم :angry:
              اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

              دیدگاه


                #8
                پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                جسارتا!
                بند اول دور ریختن پوله.
                بند دوم نشدنیه. چون تا جایی که میدونم WinAVR نوع double رو پشتیبانی نمیکنه.
                بند سوم هم اگر نشدنی نباشه خیلی مصیبته.

                ضمنا شما اگه ساختار لایه بندی رو در کدتون رعایت کنین و درست کد بنویسین با استفاده از پیش پردازشگر C مشکل آنچنانی در پورت کردن کد از یک کامپایلر استاندارد C به اون یکی ندارین.

                دیدگاه


                  #9
                  پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                  سلام،

                  بابا برقی عزیز، همونطور که جناب آقازاده فرمودند، WinAVR متغیرهاش 32 بیتی هستش و شما 64 بیتی میخای، حدس میزنم داری با GPS کار میکنی :mrgreen: اگر اینطوره، یه سری روشها مثل عملیات روی String بجای Float موثر واقع میشه ( حداقل بطور موقت ) و یا اینکه برادرای خارجی زحمت کشیدن و یه سری لایبراری برای محاسبات 64 بیتی در WinAVR درست کردن! که سعی میکنم برات پیداشون کنم.
                  در هر صورت بهتره یه بخشی از برنامه ات که این جریان رو داره با نمونه ورودی بزاری تا رووش کار کنیم و با همفکری دوستان مشکل شما رو حل کنیم.....
                  مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                  Sh_Nourbakhsh@Yahoo.com

                  http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                  دیدگاه


                    #10
                    پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                    با سلام مجدد!

                    توی این فایل، دو تا تابع برای عملیات 64 بیتی وجود داره و ازش توی فایل main استفاده شده، استفاده ازش توی کدویژن هم فکر کنم امکان داشته باشه، یه نگاهی بهش بندازید، ضرر که نداره :mrgreen:

                    www.mikrocontroller.net/attachment/43913/IEEE754_double.zip
                    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                    Sh_Nourbakhsh@Yahoo.com

                    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                    دیدگاه


                      #11
                      پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                      ممنون عزیزان
                      بند دوم نشدنیه. چون تا جایی که میدونم WinAVR نوع double رو پشتیبانی نمیکنه
                      ای بابا! مثل اینکه همه درها دارن تک تک بسته میشن :cry:
                      ضمنا شما اگه ساختار لایه بندی رو در کدتون رعایت کنی
                      تا حدودی رعایت شده...
                      که برادرای خارجی زحمت کشیدن و یه سری لایبراری برای محاسبات 64 بیتی در WinAVR درست کردن! که سعی میکنم برات پیداشون کنم
                      بابا بازهم دم این برادران خارجی گرم :mrgreen:
                      اگه بذارید که عالی میشه
                      راستی، پس CV دیگه کلا امیدی بهش نیست؟ بیخیال بشم؟ آخه محیط winavr رو تازه امروز برای اولین بار دیدما :redface: فرصتمم واقعا کمه(اطلا فکر نمیکردم CV برای double مسخره بازی دراره)

                      در هر صورت بهتره یه بخشی از برنامه ات که این جریان رو داره با نمونه ورودی بزاری تا رووش کار کنیم و با همفکری دوستان مشکل شما رو حل کنیم.....
                      فقط چند خط هستش که محاسبات با دقت 7-8 رقم اعشار انجام میده و حاصل هم یه عدد اعشاری 6-7رقمی با 8-9تا اعشار میشه(در مجموع یه عدد مثلا 14رقمی خواهیم داشت!)
                      اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                      دیدگاه


                        #12
                        پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                        نوشته اصلی توسط aivhl
                        با سلام مجدد!

                        توی این فایل، دو تا تابع برای عملیات 64 بیتی وجود داره و ازش توی فایل main استفاده شده، استفاده ازش توی کدویژن هم فکر کنم امکان داشته باشه، یه نگاهی بهش بندازید، ضرر که نداره :mrgreen:

                        www.mikrocontroller.net/attachment/43913/IEEE754_double.zip
                        ممنون
                        الان میرم تو کارش...
                        اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                        دیدگاه


                          #13
                          پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                          با سلام مجددتر!

                          اینم هست : http://www.mikrocontroller.net/attachment/28837/avr_float64.zip


                          ( خداییش این برادرای آلمانی همیشه آدم رو غافلگیر میکنن!!! oo: :mrgreen: )
                          مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                          Sh_Nourbakhsh@Yahoo.com

                          http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                          دیدگاه


                            #14
                            پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                            آقای نوربخش من اون 2تا رو گرفتم و یه نیگاه انداختم، هرچی میکرو بلد بودم پرید :mrgreen:
                            میگم نمیشه این کدویژن رو یه سیخی زد که دابلش فعال شه؟! آخه لامذهب ورژنش pro هم هست اما چون کرکه فعال نمیشه یه نسخه trial هم نداره جوری که موقتی کارو راه بندازه :cry: :angry:

                            کسی نسخه اصلی CV نداره؟ :twisted:

                            به عنوان مثال من باید قادر باشم حاصل این محاسبه رو بدsت بیارم:
                            a= 42.00125 + 12.00000024*4587523.7
                            اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                            دیدگاه


                              #15
                              پاسخ : |**| مشکل دقت اعداد اعشاری در کدویژن

                              آقا، یه سری به اینجا بزن، کدهاش بهت ایده میده :
                              http://www.hackersdelight.org/HDcode.htm
                              مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                              Sh_Nourbakhsh@Yahoo.com

                              http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                              دیدگاه

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