اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

جلوگیری از تبدیل خودکار

+1 امتیاز
36 نمایش

تبدیل خودکار در C++ در کد زیر اتفاق میافته تا عدد 3.0 به صورت درست داخل متغیر double قرار بگیره


double d = 3;

ولی من نمی‌خوام این تبدیل انجام بشه. در واقع هدف من از این کد اینه که مقدار باینری عدد 3 بیت به بیت داخل d قرار بگیره و نتیجه برگردونده بشه٬ یعنی یه چیزی شبیه به

double d = 00000000 00000000 00000000 00000101;
در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده دوشنبه ۲۹ آبان ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز
 
بهترین پاسخ

یه ترفند خیلی جالب استفاده از union هست.


union {
float f;
unsigned long int u;
} var;

حالا وقتی بیت‌های u رو تغییر بدیم انگار بیت‌های f رو تغییر دادیم.

پرسش زیر هم یه راه‌حل دیگه داره

تبدیل بیت‌های صحیح به اعشاری

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۷ فروردین ۱۳۹۲ توسط prodo  
انتخاب شده شنبه ۱۸ خرداد ۱۳۹۲ توسط admin