اطلاعیه

Collapse
No announcement yet.

ضرب اعداد اعشاری شناور؟

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

    ضرب اعداد اعشاری شناور؟

    مهندسین عزیز چند سوال
    منظور از اعداد اعشاری شناور یا اعشاری با ممیز شناور چیه؟
    همون دسیماله احیانا؟
    فوق کل ذی علم علیم
    مهندسین هیچ گاه به بن بست نمیرسند یا راهی پیدا می کنند یا راهی میسازند

    کلید تشکر انگیزه دادن بیشتر به دوستان برای همدلی بیشتر است

    #2
    پاسخ : ضرب اعداد اعشاری شناور؟

    دسیمال رو ولش کن. انشالله ریاضی اول دبیرستان یادت هست. محور اعداد. اعداد طبیعی!
    یک سری اعداد داریم که به ازای اونها دقیقا یک نقطه روی محور اعداد وجود داره. ولاغیر. مثل عدد 2. وقتی ما این عدد رو در نرم افزار بفرم یک عدد صحیح یا همون integer در نظر میگیریم همون بحث یک نقطه مشخص پیش میاد.
    اما خیلی وقتها هست که عددی که میخواییم نمایش بدیم عددی هست که رنج عددی بالایی داره. چون رنج بالایی داره پس به میزان زیادی حافظه احتیاج داره. از طرف دیگه در مورد اعداد خیلی بزرگ یا خیلی کوچیک معمولا به کل ارقام احتیاجی نیست. منظورم اینه که همونطور که شما به عدد 1/3 نمیرسی (بخاطر دوره تکرار) و عملا بعد از یک تعداد رقم بعد از اعشار بی خیال بقیه اش میشی (فاکتور دقت محاسباتی) خیلی موارد پیش میاد که حدود عدد برات بیشتر مهمه تا خود عدد. اما به خاطر حجم مورد نیاز حافظه هم در مضیقه ای. اینجور مواقع ما از فرمی استفاده میکنیم که بهش میگیم ممیز شناور. مثلا یک عدد float یا single دارای دقتی برابر با 7 تا 8 رقم با معنی داره که میشه تعداد ارقامی که به چشم میاد. و یک توان که برای این فرم میتونه توی رنج مثبت و منفی 38 تغییر کنه. پس عملا عدد ما میتونه بین مثبت و منفی 10 بتوان مثبت و منفی 38 تغییر کنه. اما حداکثر 7 تا 8 رقم پر ارزش. بنا براین عددی مثل 1234567890 باید بفرم 1.234567 ضرب در 10 بتوان 9 ذخیره بشه. ارقام 8 و 9و 0 ارقام کم اهمیت تر هستن و میتونن حذف بشن. توی این سری موارد ما به محدوده ای که عدد توش قرار داره بیشتر وابسته ایم تا خود عدد و مسلما میزانی خطا در محاسبات ایجاد میشه که باید حواسمون بهش باشه.

    یک فرم دیگه هم هست که بهش میگن اعداد با ممیز ثابت یا fixed point که دیگه حالشو ندارم توضیح بدم و مطمئنا شما هم به این زودی ها باهاش برخورد نمیکنی. (وگرنه مجبور بودم توضیح بدم!!!)

    دیدگاه


      #3
      پاسخ : ضرب اعداد اعشاری شناور؟

      از توضیحات مبسوطتون بسیارممنون
      اما کاش یه مثال می زدید!!!
      بی زحمت یه مثال بزنید و اینکه برا برنامه نویسیش چطور باید عمل کرد
      فوق کل ذی علم علیم
      مهندسین هیچ گاه به بن بست نمیرسند یا راهی پیدا می کنند یا راهی میسازند

      کلید تشکر انگیزه دادن بیشتر به دوستان برای همدلی بیشتر است

      دیدگاه


        #4
        پاسخ : ضرب اعداد اعشاری شناور؟

        مثالش خیلی راحته! تا حدی که ممکنه فکر کنی سر کارت گذاشتم (البته منظورم خدای نکرده توهین نیست ها! میخواستم عمق فاجعه رو نشون بدم :mrgreen: :mrgreen
        اینم مثال:
        برای C:

        float a = 2.5;
        float b = 3;
        float c;

        c = a * b;


        یا مثلا برای بیسیک:


        Dim A As Single
        Dim B As Single
        Dim C As Single

        A = 2.5
        B = 3
        C = A * B


        خوب! حالا؟

        دیدگاه


          #5
          پاسخ : ضرب اعداد اعشاری شناور؟

          :mrgreen: :mrgreen: :mrgreen:


          همین که متوجه شدم و باعث خنده شمام شدم خوشحالم :nice:
          فوق کل ذی علم علیم
          مهندسین هیچ گاه به بن بست نمیرسند یا راهی پیدا می کنند یا راهی میسازند

          کلید تشکر انگیزه دادن بیشتر به دوستان برای همدلی بیشتر است

          دیدگاه


            #6
            پاسخ : ضرب اعداد اعشاری شناور؟

            متاسفانه اقا رضا این کار جواب نمیده !!!!!!

            یه تست بفرمائید متوجه میشید !!
            مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

            نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

            دیدگاه

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