
نوشته شده توسط
ميثم طاهري
اگه ميشه در مورد toBinيه كمي بيشتر توضيح بديد
من اين for رو تو تابع نوشتم واسه اين كه شما هم از توابع استفاده كنين ولي شما همچنان دارين برنامه نويسي خطي ميكنيد.
void toBin(int iDec, bool* dest)
{
for (int idx=4; idx>=0; idx--,iDec>>=1)
dest[idx] = iDec % 2;
}
كار اين تابع بردن عدد int شما به يه آرايه بولي هست كه بعدا كه بقول شما ميخواهيم ستوني اش كنيم بتونين از اين آرايه استفاده كنيم، نكاتي كه بايد تو اين آرايه بهش توجه كنين:
اين عملگر (=<<) عدد رو يك به واحد به سمت راست شيفت ميده و درنتيجه عدد نصف ميشه (البته درمورد اعداد بدون علامت كه همين هم موردنظر ماست)،
نكته ديگه اينكه حلقه updown هست يعني از بيشترين به كمترين مياد و هر دفعه باقيمانده رو ميده به يه عضو از آرايه bool كه فقط مقادير درست 1 و غلط 0 رو تو خودش نگه ميداره.
من نه تو پيغامهاي خصوصي كه ميفرستين خبري از همچين آرايه اي ميبينم نه تو اين تاپيك. بالاخره يه جايي بايد يه آرايه دوبعدي واسه اين كار داشته باشين و روش ديگش استفاده محض از عملگرهاي بيتي هست كه من فكر نميكنم واسه اين سطح مناسب باشه چون خيلي پيچيده ميشه ولي اگه خواستين در اون مورد هم بحث ميكنيم به شرطي كه اين بحث به نتيجه برسه!
البته اگه خودتون راه حل ديگه اي دارين بگين؛ اين چيزيه كه به ذهن من ميرسه.