Keling, Java-dagi operatsiyalar haqida gapiraylik: raqamli, mantiqiy, bitli. Bu, albatta, dasturlashni o'rganish uchun zarur bo'lgan nazariy asosdir.
Jadval 1. Binar arifmetik operatorlar
Birinchi to'rtta operator hech qanday savol tug'dirmasligi kerak: hamma narsa matematikada bo'lgani kabi. Oxirgi operator, bo'linishning qolgan qismi ham juda murakkab ish qilmaydi. Masalan, 24 ni 7 ga bo'lsak, 3 ta butun son va 3 ta qoldiqni olamiz. Bu operatorning qolgan qismi qaytariladi:
Ikkilik operatorlardan tashqari, Java-da unar arifmetik operatorlar mavjud.
Jadval 2. Birlik arifmetik operatorlar:
Birlikdagi ortiqcha va minuslarga misol:
O'stirish va kamaytirish operatsiyalari juda oddiy. Birinchi holda, o'zgaruvchi 1 ga oshiriladi, ikkinchisida, o'zgaruvchi 1 ga kamayadi. Quyida misol keltirilgan:
3-jadval. O'sish-kamaytirish operatorlari:
Namoyish:
Arifmetikadan tashqari, taqqoslash operatsiyalari (ikkita raqam) mavjud. Natija har doim to'g'ri yoki noto'g'ri bo'ladi ( true / false ).
Jadval 4. Taqqoslash operatorlari
Misollar:
5-jadval. Inkor operatori haqiqat jadvali (EMAS)
Jadval 6. Bog'lovchi operatorining haqiqat jadvali (VA)
Jadval 7. Ajratish operatorining haqiqat jadvali (OR)
8-jadval. Modul qo'shish operatorining haqiqat jadvali (XOR)
Java bir xil mantiqiy operatsiyalarga ega:
Va iboralarga
Endi bizda stenografiya operatorlari (
Ba'zan ifoda natijasini birinchi operanddan hisoblash mumkin. Bu qisqartirilgan operatorlarni ajratib turadigan narsa
Qisqartirilgan operatorlarda ifodaning ikkinchi qismi baholanmaydi. Ammo bu faqat ifodaning natijasi birinchi operanddan aniq bo'lganda sodir bo'ladi.
0 dan 15 gacha hisoblashni o'nlik va ikkilik sanoqda ko'rsatamiz:
Ko'rib turganingizdek, hamma narsa unchalik murakkab emas. Bitlardan tashqari, boshqa tanish ma'lumotlar birliklari ham mavjud - baytlar , kilobaytlar , megabaytlar , gigabaytlar va boshqalar. 1 baytda 8 bit borligini bilsangiz kerak . Bu nima degani? Bu degani, ketma-ket 8 bit 1 baytni egallaydi. Mana baytlar qanday bo'lishi mumkinligiga misollar:
Voila - bu unchalik murakkab emas. Lekin shunga qaramay, bir narsani aniqlashtirish kerak.
Misol sifatida 8 bitli raqam yordamida buni ko'rib chiqaylik:
Yondashuv oddiy va printsipial jihatdan tushunarli. Biroq, uning kamchiliklari bor: matematik operatsiyalarni bajarishda qiyinchiliklar. Masalan, manfiy va musbat sonlarni qo'shish bilan. Qo'shimcha manipulyatsiyalar amalga oshirilmasa, ularni katlab bo'lmaydi.
Birinchi qatorda biz ikkilik sanoq sistemasidagi qiymatni bosh nolsiz oldik. Garchi biz ularni ko'rmasak ham, ular o'sha erda. Bu barcha bitlar teskari bo'lganlarga aylantirilgan ikkinchi qatordan dalolat beradi. Shuning uchun biz juda ko'p etakchi birliklarni ko'ramiz. Bular birinchi qatorda chop etilganda kompilyator tomonidan e'tiborga olinmagan oldingi bosh nollardir. Mana, aniqlik uchun bosh nollarni ko'rsatadigan kichik dastur.
Hozir. O'ngga siljigan raqamlar haqida nima deya olasiz? Ular 2 ga bo'linadi. Har safar bir bitni o'ngga siljitganimizda, asl sonni 2 ga bo'lamiz. Agar raqam 2 ga bo'linmasa, natija minus cheksizlikka (pastga) yaxlitlanadi. Lekin bu faqat bitlarni 1 ga siljitsakgina ishlaydi. Va agar 2 bitga bo'lsa, 4 ga bo'linadi. 3 bitga bo'linadi, 8 ga bo'linadi. 4 bitga 16 ga bo'linadi. Qarang?
- Java-da qanday operatorlar mavjud?
- JavaRush kursida Java operatorlari
- Java-da raqam operatsiyalari
- Java-da mantiqiy operatsiyalar
- Java-da bitli operatsiyalar
- Java tilidagi amallarning ustuvorligi
- Foydalanishning foydali misollari
Java-da qanday operatorlar mavjud?
Har qanday operatsiya uchun bizga kamida ikkita narsa kerak bo'ladi:- operator;
- operand.
JavaRush kursida Java operatorlari
Birinchi kvestning to'rtinchi darajasi - Java sintaksisi Java operatorlariga bir nechta ma'ruzalar bag'ishlangan . Xususan, boolean kabi shartli operatorlar . Kursda taqqoslash operatorlari, shartli operatorlar va mantiqiy operatorlarning ishini tushunishga yordam beradigan 22 ta vazifa mavjud.Java-da raqam operatsiyalari
Dasturchilar raqamlar ustida bajaradigan eng keng tarqalgan operatsiya bu o'zgaruvchiga raqamli qiymat berishdir. U, operator kabi,=
sizga tanish:
int a = 1;
int b = 2;
int c = 3;
Arifmetik amallar ham mavjud. Ular ikkilik arifmetik operatorlar yordamida amalga oshiriladi:
System.out.println(24 % 7); // prints 3
Rasmiy Oracle hujjatlari saytidan misollar: Bu dastur quyidagilarni chiqaradi: 1 + 2 = 3 3 - 1 = 2 2 * 2 = 4 4/2 = 2 2 + 8 = 10 10 % 7 = 3 Java sizga imkon beradi birlashtirish uchun: masalan, operatorlar topshiriqlari va arifmetik operatorlar. Keling, bir misolni ko'rib chiqaylik:
int x = 0;
x = x + 1; // x = 0 + 1 => x = 1
x = x + 1; // x = 1 + 1 => x = 2
x = x + 1; // x = 2 + 1 => x = 3
Bu erda biz o'zgaruvchini aniqladik x
va unga nol qiymatini berdik. Keyinchalik, har bir satrda biz x
o'zgaruvchining joriy qiymatining yig'indisiga x
va bitta qiymatni belgilaymiz. Izohlarda har bir satr uchun tushuntirishlar mavjud. Ushbu protsedura o'zgaruvchini o'stirish yoki oshirish deb ataladi. Yuqoridagi misoldagi oshirish operatsiyasini operatorlar kombinatsiyasidan foydalangan holda shunga o'xshash operatsiya bilan almashtirish mumkin:
int x = 0;
x += 1; // x = 0 + 1 => x = 1
x += 1; // x = 1 + 1 => x = 2
x += 1; // x = 2 + 1 => x = 3
Siz tayinlash operatorini istalgan arifmetik operator bilan birlashtirishingiz mumkin:
int x = 0;
x += 10; // x = 0 + 10 => x = 10
x -= 5; // x = 10 - 5 => x = 5
x *= 5; // x = 5 * 5 => x = 25
x /= 5; // x = 25 / 5 => x = 5
x %= 3; // x = 5 % 3 => x = 2;
Keling, oxirgi misol qanday ishlashini ko'rsatamiz:
int x = 0;
x = (+5) + (+15); // Parentheses for clarity, it is possible without them
System.out.println("x = " + x);
int y = -x;
System.out.println("y = " + y);
int x = 9;
x++;
System.out.println(x); // 10
int y = 21;
y--;
System.out.println(y); // 20
Ushbu operatsiyalarning ikki turi mavjud - postfiks va prefiks. Birinchi holatda operator o'zgaruvchidan keyin, ikkinchi holatda o'zgaruvchidan oldin yoziladi. Yagona farq - oshirish yoki kamaytirish operatsiyasi bajarilganda. Quyidagi jadvaldagi misol va tavsif. Aytaylik, bizda o'zgaruvchi bor:
int a = 2;
Keyin:
int a = 1;
int b = 2;
boolean comparisonResult = a == b;
System.out.println("a == b :" + comparisonResult);
comparisonResult = a != b;
System.out.println("a != b :" + comparisonResult);
comparisonResult = a > b;
System.out.println("a > b :" + comparisonResult);
comparisonResult = a >= b;
System.out.println("a >= b :" + comparisonResult);
comparisonResult = a < b;
System.out.println("a < b :" + comparisonResult);
comparisonResult = a <= b;
System.out.println("a <= b :" + comparisonResult);
Namoyish:
Java-da mantiqiy operatsiyalar
Keling, ularning har birining mantiqiy operatsiyalari va haqiqat jadvallarini ko'rib chiqaylik:- inkor qilish operatsiyasi (
NOT
); - birikma amali, mantiqiy VA (
AND
); - disjunksiya operatsiyasi, mantiqiy OR (
OR
); - modul qo'shish operatsiyasi, eksklyuziv OR (
XOR
).
!
— inkor operatori;&&
— mantiqiy AND operatori (qisqa);||
— mantiqiy OR operatori (qisqa);&
— bitli AND operatori;|
— bitli OR operatori;^
— bitli eksklyuziv OR operatori.
public class LogicDemo {
public static void main(String[] args) {
notExample();
andExample();
orExample();
xorExample();
}
public static void notExample() {
System.out.println("NOT EXAMPLE:");
System.out.println("NOT false = " + !false);
System.out.println("NOT true = " + !true);
System.out.println();
}
public static void andExample() {
System.out.println("AND EXAMPLE:");
System.out.println("false AND false = " + (false & false));
System.out.println("false AND true = " + (false & true));
System.out.println("true AND false = " + (true & false));
System.out.println("true AND true = " + (true & true));
System.out.println();
}
public static void orExample() {
System.out.println("OR EXAMPLE:");
System.out.println("false OR false = " + (false | false));
System.out.println("false OR true = " + (false | true));
System.out.println("true OR false = " + (true | false));
System.out.println("true OR true = " + (true | true));
System.out.println();
}
public static void xorExample() {
System.out.println("XOR EXAMPLE:");
System.out.println("false XOR false = " + (false ^ false));
System.out.println("false XOR true = " + (false ^ true));
System.out.println("true XOR false = " + (true ^ false));
System.out.println("true XOR true = " + (true ^ true));
System.out.println();
}
}
Bu dastur ko'rsatadi: MISOL EMAS: FALSE EMAS = rost EMAS = noto'g'ri VA O'RNAK: noto'g'ri VA noto'g'ri = noto'g'ri noto'g'ri VA rost = noto'g'ri rost VA noto'g'ri = noto'g'ri rost VA rost = rost YOKI MISAL: noto'g'ri OR false = noto'g'ri YOKI rost = rost rost YOKI false = rost rost YOKI rost = rost XOR MISOL: notogri XOR false = notogri false XOR rost = rost rost XOR false = rost rost XOR true = false Mantiqiy operatorlar faqat boolean
oʻzgaruvchilar uchun amal qiladi. Bizning holatlarimizda biz ularni to'g'ridan-to'g'ri qiymatlarga qo'lladik, lekin siz ularni boolean
o'zgaruvchilar bilan ham ishlatishingiz mumkin:
boolean
:
&&
, ||
) va shunga o'xshash bitli operatorlar ( &
, |
) mavjud. Ularning orasidagi farq nima? Birinchidan, bit bo'yicha butun sonlarga qo'llanilishi mumkin. Bu haqda biroz keyinroq gaplashamiz. Va ikkinchidan, ba'zilari qisqartirilgan, boshqalari esa yo'q. Qisqartirish qanday ko'rinishini tushunish uchun keling, iborani ko'rib chiqaylik:
false AND x = ?
true OR x = ?
Bu x
har qanday mantiqiy qiymatni olishi mumkin. Va umuman olganda, mantiq va haqiqat qonunlariga ko'ra jadvallar, u x
to'g'ri yoki noto'g'ri bo'lishidan qat'i nazar , birinchi ifodaning natijasi noto'g'ri , ikkinchisining natijasi esa to'g'ri bo'ladi . Qarang.
&&
va ||
. Yuqorida tavsiflanganlarga o'xshash iboralarda ular ikkinchi operandning qiymatini baholamaydi. Mana kichik bir misol:
Java-da bitli operatsiyalar
Xo'sh, biz eng qiziqarli qismga keldik: bitli operatsiyalar. Nomidan ko'rinib turibdiki, bu bitlar ustida bajariladigan operatsiyalar. Ammo bu mavzuga kirishdan oldin, tegishli sohalar haqida gapirishga arziydi.Ikkilik sanoq sistemasida sonlarni tasvirlash
Raqamlar, dasturdagi boshqa ma'lumotlar kabi, kompyuter xotirasida ikkilik kodda saqlanadi. Ikkilik kod - bu nollar va birliklar to'plami. Har bir nol yoki bitta bit deb ataladigan axborot birligini ifodalaydi.Vikipediyaga ko'ra:
Bit (ingliz tilidan ikkilik raqam - ikkilik raqam; shuningdek, so'zlarni o'ynash: inglizcha bit - parcha, zarracha) - axborot miqdorini o'lchash birligi. 1 bit ma'lumot ikki ma'noga ega bo'lishi mumkin bo'lgan belgi yoki signaldir: yoqilgan yoki o'chirilgan, ha yoki yo'q, yuqori yoki past, zaryadlangan yoki zaryadlanmagan; ikkilik tizimda u 1 (bir) yoki 0 (nol) ga teng.Bitli operatorlar qanday ma'lumotlar bilan ishlaydi?
Java tilidagi bitli amallar faqat butun sonlarda bajariladi. Butun sonlar kompyuter xotirasida bitlar to'plami sifatida saqlanadi. Aytishimiz mumkinki, kompyuter har qanday ma'lumotni ikkilik sanoq tizimiga (bitlar to'plami) aylantiradi va shundan keyingina u bilan o'zaro ta'sir qiladi. Ammo ikkilik sanoq tizimi qanday ishlaydi? O'nlik sanoq sistemasida bizda bor-yo'g'i 10 ta belgi mavjud: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Hisoblash uchun bu belgilardan foydalanamiz. 9 dan keyin 10, 19 dan keyin - 20, 99 dan keyin - 100, 749 - 750 dan keyin keladi. Ya'ni, biz mavjud 10 ta belgining kombinatsiyasidan foydalanamiz va ularni "noldan tushlikgacha" hisoblash uchun ishlatishimiz mumkin. Ikkilik sanoq sistemasida o'nta belgi o'rniga faqat ikkitasi - 0, 1. Lekin bu belgilarni o'nlik sanoq sistemasidagi kabi printsip bo'yicha birlashtirib, biz cheksiz sanashimiz mumkin.
00000000 - 1 byte
10110010 - 1 byte
01011011 - 1 byte
Bitta baytdagi mumkin bo'lgan takrorlanmaydigan bit birikmalarining soni 256 ta (2 8 = 256). Ammo keling, Java-ga yaqinroq qaytaylik. Bunday butun sonli ma'lumotlar turi mavjud - byte
. Bu tip -128 dan 127 gacha qiymatlarni qabul qilishi mumkin va kompyuter xotirasidagi bitta raqam atigi 8 bit yoki 1 baytni egallaydi. byte
Bunday turdagi bitta raqam kompyuterning 1 ta xotirasini egallaydi . Va bu erda nomlar tasodifiy emas. Esda tutganimizdek, 1 bayt 256 xil qiymatni saqlashi mumkin. Va bitta turdagi raqam byte
256 xil qiymatni olishi mumkin (128 salbiy, 127 ijobiy va 1 nol). Har bir raqam qiymati byte
sakkiz bitdan iborat noyob to'plamga ega. Bu nafaqat type ga byte
, balki barcha integral tiplarga ham tegishli. Tur byte
eng kichigi sifatida misol tariqasida keltirilgan. Quyidagi jadvalda barcha Java tamsayı turlari va ular egallagan xotira maydoni ko'rsatilgan: turini ko'rib chiqing int
. U 2147483648 salbiy qiymatlarni, 2147483647 ijobiy qiymatlarni va bitta nolni saqlashi mumkin. Jami:
2147483648 + 2147483647 + 1 = 4294967296.
Bu tip kompyuter xotirasida 32 bitni egallaydi. 32 nol va birlar to'plamidan mumkin bo'lgan kombinatsiyalar soni:
232 = 4294967296.
Turga ega bo'lishi mumkin bo'lgan qiymatlar soni bilan bir xil raqam int
. Bu faqat ma'lumotlar turi qiymatlari diapazoni va uning o'lchami (xotiradagi bitlar soni) o'rtasidagi munosabatlarning namoyishi. Java-dagi har qanday turdagi raqamlar ikkilik formatga aylantirilishi mumkin. Keling, buni Java tili yordamida qanchalik oson bajarish mumkinligini ko'rib chiqaylik. Biz turdagi misoldan bilib olamiz int
. Bu tur o'zining o'rash sinfiga ega - Integer
. Va uning bittasi bor toBinaryString
, u biz uchun barcha ishlarni bajaradi:
int
raqam 32 bitni oladi. Lekin yuqoridagi misoldagi 10 raqamini chop etganimizda konsolda 1010 ni ko'ramiz.Buning sababi, bosh nollar chop etilmaydi. Agar ular ko'rsatilsa, 1010 o'rniga biz konsolda 000000000000000000000000000001010 raqamini ko'ramiz. Lekin idrok etish qulayligi uchun barcha bosh nollar o'tkazib yuborilgan. O'zingizdan so'ramaguningizcha qiyin emas: salbiy raqamlar haqida nima deyish mumkin? U axborotni faqat ikkilik tizimda qabul qiladi. Ma'lum bo'lishicha, minus belgisi ham ikkilik kodda yozilishi kerak. Bu to'g'ridan-to'g'ri yoki qo'shimcha kod yordamida amalga oshirilishi mumkin.
To'g'ridan-to'g'ri kod
Ikkilik sanoq sistemasida raqamlarni ifodalash usuli, bunda eng muhim bit (eng chap bit) raqam belgisiga ajratiladi. Agar raqam ijobiy bo'lsa, eng chap bitga 0, salbiy bo'lsa - 1 yoziladi.Qo'shimcha kod
Qo'shimcha koddan foydalanib, siz to'g'ridan-to'g'ri kodning kamchiliklaridan qochishingiz mumkin. Raqamning qo'shimcha kodini olishning oddiy algoritmi mavjud. Keling, -5 raqami uchun qo'shimcha kodni olishga harakat qilaylik. Bu sonni ikkilik sanoq sistemasidagi ikkita to‘ldiruvchi kod yordamida ifodalaylik. Qadam 1. Biz to'g'ridan-to'g'ri kod yordamida salbiy sonning ko'rinishini olamiz. -5 uchun u 10000101 bo'ladi. 2-qadam. Belgi raqamidan tashqari barcha raqamlarni o'zgartiring. Keling, barcha nollarni birlar bilan, eng chap bitdan tashqari hamma joyda nol bilan almashtiraylik.
10000101 => 11111010
3-qadam. Olingan qiymatga bittasini qo'shing:
11111010 + 1 = 11111011
Tayyor. Ikkilik to'ldiruvchi kod yordamida ikkilik sanoq sistemasida -5 qiymatini oldik. Bu quyidagi materialni tushunish uchun muhim, chunki Java manfiy raqamlarni bitlarda saqlash uchun ikkita to'ldiruvchi koddan foydalanadi.
Bitli amallarning turlari
Endi biz barcha kirishlarni ko'rib chiqdik, keling, Java-da bitli operatsiyalar haqida gapiraylik. Butun sonlar ustida bitli operatsiya bajariladi va uning natijasi butun sondir. Bu jarayonda son ikkilik sistemaga aylantiriladi, har bir bit ustida amal bajariladi va natija yana o‘nlik kasrga aylantiriladi. Amallar ro'yxati quyidagi jadvalda keltirilgan: Biz allaqachon bilib olganimizdek, raqamlarni bitlar to'plami sifatida ko'rsatish mumkin. Bitli operatsiyalar bunday tasvirning har bir biti ustida operatsiyalarni bajaradi. KelingNOT
, AND
, OR
, , ni olaylik XOR
. Eslatib o'tamiz, yaqinda biz haqiqat jadvallarini faqat mantiqiy operandlar uchun ko'rib chiqdik. Bunday holda, butun sonning har bir bitiga bir xil amallar qo'llaniladi.
Bit bo'yicha unar operator NOT ~
Bu operator barcha nollarni birlarga, hammasini esa nolga almashtiradi. Aytaylik, bizda 10 raqami o'nli tizimda mavjud. Ikkilik tizimda bu raqam 1010 ga teng. Agar bu raqamga birlamchi bitli inkor operatorini qo‘llasak, quyidagiga ega bo‘lamiz: Keling, uning Java kodida qanday ko‘rinishini ko‘rib chiqamiz:public static void main(String[] args) {
int a = 10;
System.out.println(" a = " + a + "; binary string: " + Integer.toBinaryString(a));
System.out.println("~a = " + ~a + "; binary string: " + Integer.toBinaryString(~a));
}
Endi konsolda nima ko'rsatilishini ko'rib chiqamiz:
Bitwise AND operatori
Ushbu operator ikkita raqamga tegishli.AND
U har bir raqamning bitlari orasidagi amalni bajaradi . Bir misolni ko'rib chiqamiz: Bu operatsiya ikkita raqamda bajariladi. Java kodidagi misol:
Bitwise OR operatori
OR ikkita raqamga tegishli. U har bir raqamning bitlari orasida OR operatsiyasini bajaradi: Endi IDEA da bu qanday ko'rinishini ko'rib chiqamiz:Bit bo'yicha operatsiya, eksklyuziv OR (XOR)
Keling, xuddi shu misolni ko'rib chiqaylik, lekin yangi operatsiya bilan: Kod misoli:Bit boʻyicha chapga siljitish
Bu operator ikkita operandga taalluqlidir, ya'ni operatsiyadax << y
sonning bitlari o'rinlarni chapga x
siljitadi . y
Bu nima degani? Amaliyot misolini ko'rib chiqamiz.Operatsiya 10 << 1
natijasi o'nlik sanoq sistemasidagi 20 raqami bo'ladi. Yuqoridagi diagrammadan ko'rinib turibdiki, barcha bitlar chapga 1 ga siljiydi. Bu operatsiya davomida eng muhim bit (eng chap bit) qiymati yo'qoladi. Va eng kam ahamiyatli bit (eng o'ngdagi bit) nol bilan to'ldiriladi. Ushbu operatsiya haqida nima deya olasiz?
-
Raqamning bitlarini chapga bit
X
bilan siljitish orqali biz raqamni 2 N ga ko'paytiramiz .N
X
Mana bir misol:
-
Lekin! Agar 1 qiymatiga ega bit eng chap pozitsiyani egallasa, raqamning belgisi o'zgarishi mumkin.
-
Agar cheksiz vaqt davomida chapga siljisangiz, raqam shunchaki 0 ga aylanadi. 2 va 3 bandlarni ko'rsatamiz:
Bit boʻyicha oʻngga siljitish
Bu operator ikkita operand uchun amal qiladi. Bular. operatsiyadax >> y
raqamning bitlari pozitsiyalarni o'ngga x
siljitadi . y
Keling, yana bir misolni ko'rib chiqaylik. Keling, operatsiyani sxematik tahlil qilaylik 10 >> 1
. Keling, 10 raqamining barcha bitlarini bitta pozitsiyadan o'ngga siljitamiz: Shishish operatsiyasi paytida biz to'g'ri bitlarni yo'qotamiz. Ular shunchaki yo'qoladi. Eng chap bit sonning belgisidir (0 musbat, 1 manfiy). Shuning uchun, yakuniy qiymatda u asl raqamdagi kabi joylashtiriladi. Salbiy raqamga misol: eng o'ngdagi bit yo'qoladi va eng chap bit raqamning faxriy belgisi sifatida asl raqamdan ko'chiriladi. Bularning barchasini IDEA-da qanday qilish mumkin? Asos sifatida, hech qanday murakkab narsa yo'q, shunchaki oling va harakatlantiring:
X
2 ning kuchlari... Raqamni o'ngga bitlarga siljitganimizda , sonni 2 ga 2 ning darajasiga N
bo'lamiz . Namoyish: X
N
public class BitOperationsDemo {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
int shiftOperationResult = 2048 >> i;
int devideOperationResult = 2048 / (int) Math.pow(2, i);
System.out.println(shiftOperationResult + " - " + devideOperationResult);
}
}
}
Bu yerda nima bo'lyapti?
-
i o'zgaruvchisi 1 dan 10 gacha oshiriladigan tsikl.
- Har bir iteratsiyada biz 2 qiymatni hisoblaymiz:
-
O'zgaruvchiga
shiftOperationResult
2048 raqamini i bitga o'ngga siljitish natijasini yozamiz; -
devideOperationResult
2048 raqamini i darajasiga 2 ga bo'lish natijasini o'zgaruvchiga yozamiz . -
Olingan ikkita qiymatni juftlikda ko'rsatamiz.
GO TO FULL VERSION