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

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

تبدیل آرایه‌ای از بایت‌ها به یک داده‌ی صحیح ۳۲ بیتی

0 امتیاز
74 نمایش

من آرایه‌ی ۸ بیتی زیر رو دارم

_int8 arr[0] = 0;
_int8 arr[1] = 0;
_int8 arr[2] = 14;
_int8 arr[3] = 16;

می‌خوام با استفاده از این ۴ بایت یک داده‌ی ۳۲ بیتی بسازم

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

1 پاسخ

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

یه راه ساده اینه که یه اشاره‌گر ۳۲ بیتی رو به ابتدای ارایه انتساب بدیم. چون ۴ بایت آرایه پشت سر هم هست، مقدار اون اشاره‌گر می‌شه مقدار مطلوب

_int32 number = *(_int32 *)arr;

یه راه دیگه

_int32 number = arr[0] << 24 | arr[1] << 16 | arr[2] << 8 | arr[3];
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۲۱ مرداد ۱۳۹۲ توسط prodo  
انتخاب شده سه شنبه ۲۲ مرداد ۱۳۹۲ توسط admin