اطلاعیه

Collapse
No announcement yet.

آشنایی با متغیر float

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

    آشنایی با متغیر float

    سلام دوستان عزیز من یه متغیر floatکه32بیته چظوری با چه ترتیبی و ترکیبی اعداد ممیز شناور ذخیره میشه....؟؟؟؟؟؟؟

    #2
    پاسخ : آشنایی با متغیر float

    اگه به این آدرس سری بزنین اطلاعات کاملی هست:
    http://en.wikipedia.org/wiki/IEEE_754-2008

    در اغلب کتابهای مبانی کامپیوتر هم توضیح داده شده.
    اما خلاصه اش اینه:
    برای نگهداری یک عدد شما به یک تعداد بیت های خاصی احتیاج دارین. مثلا برای نگهداری یک عدد 3 رقمی تقریبا به 10 بیت حافظه احتیاج هست. این مال مواقعی هست که احتیاجه با حداکثر دقت یک عدد رو نگهداری کنیم. مثل اعداد صحیح. این اعداد روی محور اعداد دارای یک نقطه منحصر بفرد مخصوص خودشون هستن. اما خیلی وقتها داشتن حدود یک عدد برای نمایش کل ایدهء ما از اون عدد کفایت میکنه. مثلا میخوایین ماشین بخرین میگن 12 تومن. نمیان دقیقا بگن که 12 میلیون تومن. چرا چون اگه این 12 میلیون تومن دقیقا 11 میلیون و نهصدو نود و پنج هزار باشه برای شما همون 12 میلیون تومنه. چرا چون این 12 میلیون تومن اینقده مهم هست که اون 10 هزار تومن نیست.
    اعداد اعشاری در کامپیوتر به نحوی ذخیره میشن که شما حدودا بفهمین چه عددی منظور بوده. نه دقیقا. ممکنه بعضی وقتها این حدودا همون دقیقا شما باشه ولی این استثنا هست. برای این کار میان یک تعداد محدودی بیت در نظر میگیرن تا بتونن یک تعدادی از ارقام با معنی (یعنی سمت چپ ترین اعداد که تاثیر گذارترینشون هم هستن) رو درون این عدد اعشاری نگهداری کنن. اما بقیه رنج عددی را با استفاده از یک توانی از 10 نشون میدن.

    این فرم نمایش عددی رو بهش میگیم فرم نمایش علمی. مثلا همون 12 میلیون تومن رو میگیم 1.2 در 10 میلیون تومن. یا 1.2E7 که عدد سمت چپ همون اعداد با معنی ما هستن و عدد سمت راست حرف E توان 10ی که باید در اون عدد سمت چپی ضرب بشه تا عدد نهایی ساخته بشه.

    حالا من میام برای نگهداری یک عدد؛ 32 بیت رو در عدد float به دو قسمت تقسیم میکنم. یک 24 بیت برای قسمت اعشاری و بقیه اش برای ذخیره اون توان. اما 24 بیت فقط میتونه 7 تا 8 رقم دهدهی رو نشون بده و با بقیه بیت هاش هم میشه رنجی بین مثبت و منفی 38 در مبنای 10 رو ایجاد کرد. البته یعضی الگو ها هم هستن که مربوط به عدد خاصی نمیشن و اسامی خودشون رو دارن مثلا NaN یا Not a Number. برای عدد double این رنج نزدیک 15 رقم با معنی با حداکثر توان مثبت و منفی 308 هست.

    دیدگاه

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