دوست عزیز با این چزی که شما گفتی که نمیشه قشنگ به سوال من توجه کن من منظورم اینه که بیت هشتم بیاد تو بیت یکم بشینه و بیت هفتم بیاد تو بیت دوم بشینه و به همن ترتیب . نمی دونم تونستم منظورم رو برسونم یا نه لطفا کمک کنید
عزیز وقتی شما میگید یک بایت برعکس بشه به معنی toggle شدن اونه ولی شما در سوالتون نوشتید عدد 11100000 به 00000111 تبدیل بشه که کد زیر این کار رو انجام میده.
$regfile = "m16def.dat"
$crystal = 8000000
Dim A As Byte
Config Portb = Output
جهت برعکس نمودن یک بایت در زبان C، که میتونه نرم افزار codevision باشه یا توی کیل میکروکنترولر ARM در ادامه دستور آن آمده است.
فرض کنید که یک متغیر با نام مثلا ali دارید که دارای مقدار هگز 0xC4 یا همان مقدار باینری 11000100 باشد. معکوس شده این بایت می شود 00100011 که برابر مقدار هگز 0x23 می باشد. یعنی بطور ساده تربگویم بیت هشتم (آخر) به بیت اول منتقل شده، بیت هفتم به بیت دوم، بیت ششم به بیت سوم، بیت پنجم به بیت چهارم، بیت چهارم به بیت پنجم، بیت سوم به بیت ششم، بیت دوم به بیت هفتم و بیت اول به بیت هشتم منتقل شده است. با زیر می توان این کار را انجام داد (یعنی بیت های متغیر ali را می توان معکوس کرد)
شما می تونید یه متغیر از نوع آرایه 8 بیتی ایجاد کنید و توی یک حلقه for که 8 بار تکرار میشه از اندیس آخر به اول بخونید و بریزیدش توی یه متغیر آرایه دیگه
توی کدویژن میشه ولی بسکام نمی دونم
مثال
int counter[4] = { 1 , 10 , 100 , 1000};
دیدگاه