من متوجه سوال نشدم. الان این تبدیل دقیقا چیه؟ این دو تا عدد که ربطی به هم ندارن.
شاید هم کلا سوال اینه که چرا وقتی نوشتی
f=*(float*)m;
یک عدد برگشته. اگر سوال اینه باید دقت کنی که متغیرها فقط و فقط مکان هایی در حافظه هستن و این برنامه نویس است که می گه به چهار بایتی که در فلان جای حافظه ذخیره شده به عنوان یک رشته کاراکتری باید نگاه بشه یا به عنوان یک عدد فلوت یا لانگ اینت یا هر چی.
بهتره سوالم رو این طوری مطرح کنم :
من می خوام یک آرایه 4 تایی رو به یک عدد اعشاری معادلش تبدیل کنم convert char[] to float
در واقع این آرایه معادل یک عدد اعشاریه
با به کار بردن casting type این کار انجام میشه
f=*(float*)m;f اعشاری
m آرایه ای با 4 عضو کاراکتری
حالا سوال من اینه که در این تغییر نوع داده چه فرمولی هست
یعنی f چه رابطه ای با m[0] , m[1], m[2] ,m[3] داره؟؟؟
البته شما اشاره کردید که:
متغیرها فقط و فقط مکان هایی در حافظه هستن و این برنامه نویس است که
می گه به چهار بایتی که در فلان جای حافظه ذخیره شده به عنوان یک رشته کاراکتری
باید نگاه بشه یا به عنوان یک عدد فلوت یا لانگ اینت یا هر چی.
ولی من فکر میکنم از نظر ریاضی بین این عدد فلوت و چهار کاراکتر یک رابطه ریاضی وجود داره
من این رو می خوام بفهمم یا اگه اشتباه میکنم نمیدونم
من توی چندتا مثالی که با عدد های مختلف انجام دادم دیدم رابطه ای از توان های مختلف 2 بین اونها وجود داره ولی نتونستم به یک فرمول واحد برسم
امیدوارم منظورم رو رسونده باشم
با تشکر