آموزش های من
سلام
با آموزش الگوریتم تبدیل عملگر توان به عملگر جمع در خدمت شما هستم. این تاپیک از نظر مدیران مناسب نبود حذف بشه مشکلی ندارم.
خب ما میخواهیم که عبارت زیر رو بدون استفاده از عملگر "توان" و فقط با استفاده از جمع محاسبه کنیم.
برای همین منظور ما نیاز داریم یه مرحله برگردیم به عقبتر از عملگر توان ! (عبارت رو به شکل ضرب بنویسیم).
یعنی ضرب. پس میشه عکس زیر
و باز به عملگر قبل ترش نگاه میکنیم یعنی جمع!( پرانتز بندی می کنیم و 4*4 اول رو تمرکز میکنیم روش تا جوابش رو بدست بیاریم تا بعد بگم چیکار کنیم.
عکس زیر رو ببینین:
خب حالا رسیدیم به عملگر جمع یکم که به 4*4*4 دقت کنین می بینین که عدد 4 سه بار در خودش ضرب شده.
پس ما دو تا متغیر داریم num1 و num2 .
میایم به این روش عمل می کنیم.
public void compute(int num1, int num2) {
int temp = num1; \\ مقدار نام1 رو میریزیم تو تمپ
int result = num1; \\ مقدار نام1 رو میریزیم تو ریزالت
for (int i = 1; i < num2; i++) { \\ از یک تا خود عدد دومی میریم چون که باید به تعداد اون ضرب کنیم
for (int j = 1; j < num1; j++) { \\ (باید عکس ها یادتون باشه ها)یه فور دیگه می سازیم برای این که از 1 بریم تا خود عدد اولی چون میخوایم عدد اول رو جمع کنیم.
temp += result; // temp = temp + result => \\ اینجا هم تمپ رو با ریزالت با هم جمع میکنیم میریزیم تو تمپ
}
result = temp; // اینجا هم مقدار تمپ رو میریزیم تو ریزالت چون سری بعدی که آی یکی زیاد میشه و فور داخلی اجرا میشه اینبار 16 رو باخوش جمع کنه.
}
Log.i("Test", num1 + "^" + num2 + " is: " + result);
}
}
با سلام با یه الگوریتم ساده دیگه در خدمت شما هستم:
این الگوریتم برای تبدیل عدد به ( باینری ) 8 بیت معروف آی پی کاربرد دارد. هر آی پی هشت بیت دارد که به شکل
8بیت-8بیت-8بیت-8بیت که جمعاً 32بیت می شوند اینجا اگر بخواهیم باینری عدد 128 را حساب کنیم می شود .
1 2 4 8 16 32 64 128
0 0 0 0 0 0 0
برای عدد 137 میشود : 10001001
تصویری از محیط اپلیکیشن:


public class MainActivity extends AppCompatActivity {
Button btn_compute;
EditText edt_input;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt_input = (EditText) findViewById(R.id.edt_input);
btn_compute = (Button) findViewById(R.id.btn_compute);
btn_compute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String numStr = edt_input.getText().toString();
if (numStr.equals("")) {
TextView[] txtResult = new TextView[8];
txtResult[0] = (TextView) findViewById(R.id.txt_128);
txtResult[1] = (TextView) findViewById(R.id.txt_64);
txtResult[2] = (TextView) findViewById(R.id.txt_32);
txtResult[3] = (TextView) findViewById(R.id.txt_16);
txtResult[4] = (TextView) findViewById(R.id.txt_8);
txtResult[5] = (TextView) findViewById(R.id.txt_4);
txtResult[6] = (TextView) findViewById(R.id.txt_2);
txtResult[7] = (TextView) findViewById(R.id.txt_1);
txtResult[0].setText("0");
txtResult[1].setText("0");
txtResult[2].setText("0");
txtResult[3].setText("0");
txtResult[4].setText("0");
txtResult[5].setText("0");
txtResult[6].setText("0");
txtResult[7].setText("0");
return;
}
int numInt = Integer.parseInt(numStr);
if (numInt != 0) {
compute(numInt);
}
}
});
}
public void compute(int number) {
int[] array = new int[8];
int numberForDisplay = number;
TextView[] txtResult = new TextView[8];
txtResult[0] = (TextView) findViewById(R.id.txt_128);
txtResult[1] = (TextView) findViewById(R.id.txt_64);
txtResult[2] = (TextView) findViewById(R.id.txt_32);
txtResult[3] = (TextView) findViewById(R.id.txt_16);
txtResult[4] = (TextView) findViewById(R.id.txt_8);
txtResult[5] = (TextView) findViewById(R.id.txt_4);
txtResult[6] = (TextView) findViewById(R.id.txt_2);
txtResult[7] = (TextView) findViewById(R.id.txt_1);
int[] newArray = new int[8];
array[0] = 128;
array[1] = 64;
array[2] = 32;
array[3] = 16;
array[4] = 8;
array[5] = 4;
array[6] = 2;
array[7] = 1;
String answer = "";
for (int i = 0; i < 8; i++) {
if (number - array[i] >= 0) {
number -= array[i];
answer += "1";
newArray[i] = 1;
txtResult[i].setText("1");
} else {
answer += "0";
newArray[i] = 0;
txtResult[i].setText("0");
}
}
for (int i = 0; i < 8; i++) {
if (newArray[i] == 1) {
Log.i("Test", "Binary of " + numberForDisplay + " is: " + newArray[i]);
}
}
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .


