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

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

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

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

من یه عدد صحیح int دارم (با فرض ۳۲ بیتی بودن) و می‌خوام بایت‌هاش رو جدا کنم.

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

1 پاسخ

0 امتیاز

کد زیر بایت‌ها رو در یک بردار ذخیره می‌کنه

int number = ...;
vector<unsigned char> bytes(4);
  for (int i = 0; i < 4; i++)
     bytes[3 - i] = (number >> (i * 8));
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۲۳ مرداد ۱۳۹۲ توسط prodo  

البته با فرض ۸ بیتی بودن بایت. در غیر این صورت کد به صورت number >> (i*CHAR_BIT) تغییر می‌کنه. شرط حلقه هم برای کامل بودن به صورت i<sizeof(int) و bytes[sizeof(int)-1 -i] در می‌آد.