PDA

View Full Version : مبتدی: طریقه ذخیره اعداد اعشاری



...StacK...
یک شنبه 06 تیر 1389, 08:03 صبح
سلام

مثلا وقتی گفته میشه نوع float 7 رقم دقت داره و بین 10 به توان 38- تا 38 منظور چیه؟ و بازه اون دقیقا چی میشه؟

و به چه صورت ذخیره میشه؟ اگر به صورت نماد علمی ذخیره میشه و 23 بیت برای مانتیس و 8 بیت برای نما و 1 بیت برای علامت عدد...

پس در این صورت تو 23 بیت ما میتونیم عدد 8388607 را نمایش بدیم

پس چرا خروجی برنامه زیر :

/ test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include<iostream>
#include<stdlib.h>
#include<limits>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
system("color a");
float x=8388607;
cout<<x;


return 0;
}



به صورت 8.38861e+006 هست؟ که میشه 8388600 که با عدد وارد شده مطابقت نداره...!!!

و در برنامه زیر:
// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include<iostream>
#include<stdlib.h>
#include<limits>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
system("color a");
float x=4.9999999;
cout<<x;


return 0;
}



خروجی به صورت زیر هست:

5

چرا پس عدد رو گرد کرد و یک رقم دقت رو هم نداشت؟؟

زمانی که ما عدد 0.000000000003232323- رو وارد میکنیم مانتیس و نما به چه صورت در حافظه ذخیره میشه؟؟؟

...StacK...
دوشنبه 07 تیر 1389, 16:09 عصر
دوستان- حداقل منبع معتبری معرفی کنید که این موراد رو توضیح داده باشه.مخصوصا در محیط visual c++ 2005

. تو msdn موردی هست؟

tdkhakpur
دوشنبه 07 تیر 1389, 16:46 عصر
دوستان- حداقل منبع معتبری معرفی کنید که این موراد رو توضیح داده باشه.مخصوصا در محیط visual C++‎‎‎ 2005
. تو msdn موردی هست؟

برای محاسبه اعداد اعشار برای استخراج باینری این نوع اعداد روش خاصی هست قبلا روی روش این تبدیل را انجام شده بود ولی الان حضور ذهنم نیست ولی به گمانم از بیت 0 تا 51 برای پایه در نظر گرفته شده و بیتهای 52 تا 62 برای نما و آخرین بیت هم باید برای علامت در نظر گرفته شده باشد.
به نظرم شما دنبال نحوه تبدیل عدد به باینری اعداد اعشار باشد زودتر به نتیجه برسید.
مثلا عدد 0.75 را میتوان بصورت زیر در نظر گرفت

0.57 = 1/2+1/4 = 1/1b+1/01b = 0.11b

اعدد قبل از ممیز اعشار حالت استاندارد خودشان را دارند.