JavaRush /Blog Jawa /Random-JV /Pengenalan Operator Java: Logical, Aritmetika, Bitwise

Pengenalan Operator Java: Logical, Aritmetika, Bitwise

Diterbitake ing grup
Ayo dadi pirembagan bab operasi ing Jawa: numerik, logis, bitwise. Iki minangka basis teoretis sing mesthi dibutuhake kanggo sinau babagan program. Pengenalan Operator Java: Logical, Aritmetika, Bitwise - 1

Apa jinis operator ing Jawa?

Kanggo operasi apa wae, kita butuh paling ora rong perkara:
  • operator;
  • operand.
Conto operator bakal plus prasaja ing operasi nambah rong nomer. Lan nomer sing ditambahake bakal dadi operan ing kasus iki. Dadi, kanthi bantuan operator, kita nindakake operasi ing siji utawa luwih operan. Operator sing nindakake operasi ing rong operand diarani biner. Contone, nambah rong nomer. Operator sing nindakake operasi ing siji operan diarani unary. Contone, minus unary.

Operator Java ing Kursus JavaRush

Sawetara ceramah dikhususake kanggo operator Java ing tingkat kaping papat saka pencarian pisanan - Java Syntax. Utamane, operator kondisional kayata boolean . Kursus kasebut ngemot 22 tugas sing bakal mbantu sampeyan ngerti pakaryan operator perbandingan, operator kondisional, lan operator logis.

Operasi angka ing Jawa

Operasi paling umum sing ditindakake dening programer ing angka yaiku menehi nilai numerik menyang variabel. Dheweke, kaya operator, =kenal karo sampeyan:
int a = 1;
int b = 2;
int c = 3;
Ana uga operasi aritmetika. Iki ditindakake kanthi nggunakake operator aritmetika biner:
Tabel 1. Operator aritmetika biner
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 2Papat operator pisanan ngirim ora mundhakaken pitakonan: kabeh padha ing matématika. Operator pungkasan, sisa divisi, uga ora nindakake apa-apa sing rumit. Contone, yen kita dibagi 24 karo 7, kita entuk 3 nomer wutuh lan 3 sisa. Sisane operator iki bakal bali:
System.out.println(24 % 7); // prints 3
Ing ngisor iki conto saka situs dokumentasi Oracle resmi: Pengenalan Operator Java: Logical, Aritmetika, Bitwise - 3Program iki bakal ngasilake ing ngisor iki: 1 + 2 = 3 3 - 1 = 2 2 * 2 = 4 4/2 = 2 2 + 8 = 10 10 % 7 = 3 Jawa ngidini sampeyan kanggo gabungke: contone, operator assignments lan operator aritmetika. Ayo ndeleng conto:
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
Ing kene kita wis nemtokake variabel xlan menehi nilai nol. Sabanjure, ing saben baris kita nemtokake nilai xkanggo jumlah nilai saiki variabel xlan siji. Ana panjelasan ing komentar kanggo saben baris. Prosedur iki diarani ngembangake utawa nambah variabel. Operasi incrementing saka conto ing ndhuwur bisa diganti karo sing padha nggunakake kombinasi operator:
int x = 0;
x += 1; // x = 0 + 1 => x = 1
x += 1; // x = 1 + 1 => x = 2
x += 1; // x = 2 + 1 => x = 3
Sampeyan bisa nggabungake operator penugasan karo operator aritmetika:
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;
Ayo nuduhake carane conto pungkasan bisa digunakake:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 4
Saliyane operator binar, Jawa nduweni operator aritmetika unary.
Tabel 2. Operator aritmatika unary:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 4Tuladha unary plus lan minus:
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);
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 6
Operasi increment lan decrement pancen prasaja. Ing kasus sing sepisanan, variabel ditambah 1, ing kaloro, variabel dikurangi 1. Conto ing ngisor iki:
int x = 9;
x++;
System.out.println(x); // 10

int y = 21;
y--;
System.out.println(y); // 20
Ana rong jinis operasi kasebut - postfix lan prefiks. Ing kasus sing sepisanan, operator ditulis sawise variabel, ing kasus kapindho, sadurunge variabel. Bentenipun mung nalika operasi increment utawa decrement dileksanakake. Tuladha lan katrangan ing tabel ing ngisor iki. Ayo kita duwe variabel:
int a = 2;
banjur:
Tabel 3. Operator increment-decrement:
Pengantar Operator Java: Logika, Aritmatika, Bitwise - 5Demonstrasi:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 8
Saliyane aritmetika, ana operasi perbandingan (saka rong nomer). Asil bakal tansah bener utawa salah ( bener / salah ).
Tabel 4. Operator perbandingan
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 9Tuladha:
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);
Demonstrasi:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 10

Operasi Logika ing Jawa

Ayo katon ing operasi logis lan tabel bebener saben wong:
  • operasi negasi ( NOT);
  • operasi konjungsi, logika AND ( AND);
  • operasi disjunction, logika OR ( OR);
  • operasi tambahan modulo, eksklusif UTAWA ( XOR).
Operator negasi iku unary lan ditrapake kanggo operan siji. Kabeh operasi liyane binar. Ayo nimbang tabel bebener saka operasi kasebut. Ing kene 0 padha karo false ing Jawa, lan 1 padha karo true .
Tabel 5. Tabel Kebenaran Operator Negasi (NOT)
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 7
Tabel 6. Tabel kebenaran operator konjungsi (AND)
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 8
Tabel 7. Tabel kebenaran operator disjunction (OR)
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 9
Tabel 8. Tabel kebenaran operator tambahan modulo (XOR)
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 10Jawa nduweni operasi logis sing padha:
  • !- operator negasi;
  • &&- operator logika LAN (singkat);
  • ||- operator logis UTAWA (singkat);
  • &- bitwise lan operator;
  • |- bitwise UTAWA operator;
  • ^- bitwise eksklusif UTAWA operator.
Ayo ndeleng prabédan antarane operator bitwise lan shorthand ing ngisor iki, dene ayo ngowahi kabeh tabel bebener dadi kode Jawa:
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();
   }
}
Program iki bakal nampilake: NOT CONTOH: NOT false = true NOT true = false AND CONTOH: false AND false = false false AND true = false true AND false = false true AND true = true OR CONTOH: false OR false = false false UTAWA bener = bener bener UTAWA salah = bener bener UTAWA bener = bener XOR CONTOH: palsu XOR palsu = palsu palsu XOR bener = bener bener XOR salah = bener bener XOR bener = palsu Operator logis mung ditrapake kanggo booleanvariabel. Ing kasus kita, kita ngetrapake langsung menyang nilai, nanging sampeyan uga bisa nggunakake booleanvariabel kasebut:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 15
Lan kanggo booleanekspresi:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 16
Saiki, kita duwe operator shorthand ( &&, ||) lan operator bitwise padha ( &, |). Apa bedane antarane wong-wong mau? Kaping pisanan, bitwise bisa ditrapake kanggo integer. Kita bakal ngomong babagan iki mengko. Lan kapindho, sawetara sing disingkat, nanging liyane ora. Kanggo mangerteni apa sing katon kaya singkatan, ayo deleng ekspresi kasebut:

false AND x = ?
true OR x = ?
Iki xbisa njupuk sembarang nilai Boolean. Lan umume, miturut hukum logika lan tabel bebener, preduli saka bener x utawa salah , asil saka ekspresi pisanan bakal salah , lan asil kaloro bakal bener . Delengen.
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 17
Kadhangkala asil ekspresi bisa diitung saka operan pisanan. Iki sing mbedakake operator sing disingkat &&lan ||. Ing ekspresi sing padha karo sing kasebut ing ndhuwur, dheweke ora ngevaluasi nilai operan kapindho. Punika conto cilik:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 18
Ing kasus operator shorthand, bagean liya saka ekspresi ora dievaluasi. Nanging iki kedadeyan mung nalika asil ekspresi wis katon saka operan pisanan.

Operasi bitwise ing Jawa

Inggih, ing kene kita teka ing bagean sing paling menarik: operasi bitwise. Minangka jeneng kasebut, iki minangka operasi sing ditindakake ing bit. Nanging sadurunge kita nyilem menyang topik iki, iku worth ngomong bab wilayah related.

Representasi angka ing sistem angka biner

Nomer, kaya informasi liyane ing program, disimpen ing memori komputer ing kode binar. Kode binar yaiku sakumpulan nol lan siji. Saben nol utawa siji nggambarake unit informasi sing diarani bit.

Miturut Wikipedia:

A bit (saka angka biner Inggris - angka biner; uga dolanan tembung: bit Inggris - potongan, partikel) minangka unit pangukuran jumlah informasi. 1 bit informasi minangka simbol utawa sinyal sing bisa njupuk rong makna: urip utawa mati, ya utawa ora, dhuwur utawa kurang, diisi utawa ora diisi; ing sistem biner iku 1 (siji) utawa 0 (nol).

Apa jenis data sing dianggo operator bitwise?

Operasi bitwise ing Jawa ditindakake mung ing integer. Integers disimpen ing memori komputer minangka set bit. Kita bisa ngomong yen komputer ngowahi informasi apa wae menyang sistem angka biner (sakumpulan bit) lan mung banjur sesambungan karo iku. Nanging kepiye cara kerja sistem nomer binar? Ing sistem nomer desimal kita duwe mung 10 simbol: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Kita nggunakake simbol iki kanggo count. Sawise 9 rawuh 10, sawise 19 - 20, sawise 99 - 100, sawise 749 - 750. Sing, kita nggunakake kombinasi kasedhiya 10 simbol lan bisa digunakake kanggo count "saka nul kanggo nedha awan." Ing sistem angka binar, tinimbang sepuluh simbol, mung ana loro - 0, 1. Nanging kanthi nggabungake simbol kasebut miturut prinsip sing padha karo sistem desimal, kita bisa ngetung tanpa wates.
Ayo nduduhake ngitung saka 0 nganti 15 ing desimal lan biner:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 11Nalika sampeyan bisa ndeleng, kabeh ora dadi rumit. Saliyane bit, ana unit informasi liyane - bita , kilobyte , megabyte , gigabyte , lsp. Sampeyan mbokmenawa ngerti yen ana 8 bit ing 1 byte . Iki artine apa? Iki tegese 8 bit saurutan manggoni 1 bait. Ing ngisor iki conto apa sing bisa dadi bita:

00000000 - 1 byte
10110010 - 1 byte
01011011 - 1 byte
Jumlah kombinasi bit sing ora bisa diulang ing siji bait yaiku 256 (2 8 = 256). Nanging ayo padha bali nyedhaki Jawa. Ana jinis data integer kuwi - byte. Jinis iki bisa njupuk nilai saka -128 kanggo 127 lan siji nomer ing memori komputer njupuk munggah persis 8 bit, utawa 1 byte. Siji nomer saka jinis iki njupuk persis 1 bytememori komputer. Lan ing kene jeneng kasebut ora pas kanthi kebetulan. Nalika kita ngelingi, 1 byte bisa nyimpen 256 nilai beda. Lan siji jinis nomer bytebisa njupuk 256 nilai beda (128 negatif, 127 positif lan 1 nul). Saben nilai nomer byteduwe set unik saka wolung bit. Iki kasus ora mung karo jinis byte, nanging karo kabeh jinis integral. Jinis kasebut bytediwenehi conto minangka sing paling cilik. Tabel ing ngisor iki nuduhake kabeh jinis integer Jawa lan papan memori padha manggoni: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 12Coba jinis int. Bisa nyimpen 2147483648 nilai negatif, 2147483647 nilai positif, lan siji nol. Total:

2147483648 + 2147483647 + 1 = 4294967296.
Jinis iki njupuk 32 bit ing memori komputer. Jumlah kombinasi sing bisa ditindakake saka set 32 ​​nol lan siji yaiku:
232 = 4294967296.
Nomer sing padha karo jumlah nilai sing bisa ditahan int. Iki mung minangka demonstrasi hubungan antarane sawetara nilai jinis data lan ukurane (jumlah bit ing memori). Sembarang nomer saka jinis apa wae ing Jawa bisa diowahi dadi binar. Ayo ndeleng carane gampang iki bisa rampung nggunakake basa Jawa. Kita bakal sinau saka conto jinis int. Jinis iki nduweni kelas bungkus dhewe - Integer. Lan dheweke duwe siji toBinaryString, sing bakal nindakake kabeh pakaryan kanggo kita:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 21
Voila - iku ora rumit. Nanging isih ana sing kudu dijlentrehake. intnomer njupuk 32 bit. Nanging nalika kita print nomer 10 ing conto ing ndhuwur, kita ndeleng 1010 ing console. Iki amarga nul anjog ora dicithak. Yen ditampilake, tinimbang 1010, kita bakal weruh 00000000000000000000000000001010 ing konsol. Nanging supaya gampang dirasakake, kabeh nol utama diilangi. Ora angel nganti sampeyan takon dhewe: kepiye angka negatif? Iku perceives informasi mung ing sistem binar. Pranyata tandha minus uga kudu ditulis ing kode biner. Iki bisa ditindakake kanthi nggunakake kode langsung utawa komplementer.

Kode langsung

Cara makili nomer ing sistem angka biner, ing ngendi bit paling signifikan (bit paling kiwa) dialokasikan kanggo tandha nomer kasebut. Yen nomer positif, bit paling kiwa ditulis 0, yen negatif - 1.
Ayo ndeleng iki nggunakake nomer 8-bit minangka conto:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 13Pendekatan kasebut prasaja lan, ing prinsip, bisa dingerteni. Nanging, ana kekurangan: kesulitan nindakake operasi matematika. Contone, kanthi tambahan angka negatif lan positif. Dheweke ora bisa dilipat kajaba manipulasi tambahan ditindakake.

Kode tambahan

Kanthi nggunakake kode tambahan, sampeyan bisa ngindhari kekurangan kode langsung. Ana algoritma prasaja kanggo njupuk kode tambahan saka nomer. Ayo dadi nyoba kanggo njaluk kode tambahan kanggo nomer -5. Ayo diwakili nomer iki nggunakake kode komplemen loro ing sistem nomer biner. Langkah 1. Kita entuk perwakilan saka nomer negatif nggunakake kode langsung. Kanggo -5 bakal dadi 10000101. Langkah 2. Walik kabeh digit kajaba digit tandha. Ayo dadi ngganti kabeh nul karo siji, lan siji karo nul nang endi wae kajaba bit paling kiwa.

10000101 => 11111010
Langkah 3. Tambah siji menyang nilai asil:

11111010 + 1 = 11111011
siyap. Kita entuk nilai -5 ing sistem angka biner nggunakake kode komplemen loro. Iki penting kanggo mangerteni materi ing ngisor iki, wiwit Jawa nggunakake kode pelengkap loro kanggo nyimpen nomer negatif ing bit.

Jinis operasi bitwise

Saiki kita wis ngrampungake kabeh introduksi, ayo ngomong babagan operasi bitwise ing Jawa. Operasi bitwise ditindakake ing integer lan asile minangka integer. Ing proses kasebut, angka kasebut diowahi dadi binar, operasi ditindakake saben bit, lan asil diowahi dadi desimal. Dhaptar operasi ing tabel ing ngisor iki: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 14Kita wis ketemu metu, nomer bisa dituduhake minangka pesawat saka bit. Operasi bitwise nindakake operasi ing saben bit saka perwakilan kasebut. Ayo njupuk NOT,,, . AND_ Elinga yen kita bubar ndeleng tabel bebener mung kanggo operan logis. Ing kasus iki, operasi sing padha ditrapake kanggo saben bit integer. ORXOR

Operator unary bitwise NOT ~

Operator iki ngganti kabeh nul karo siji, lan kabeh karo nul. Ayo kita duwe nomer 10 ing notasi desimal. Ing binar, angka iki 1010. Yen kita nggunakake operator negasi bitwise unary kanggo nomer iki, kita entuk kaya iki: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 15Ayo ndeleng apa sing katon ing kode Jawa:
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));
}
Saiki ayo ndeleng apa sing ditampilake ing konsol:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 25
Ing baris pisanan kita entuk nilai ing sistem angka binar tanpa nul. Sanajan kita ora weruh, dheweke ana. Iki dibuktekake dening baris kapindho, ing ngendi kabeh bit diowahi dadi mbalikke. Iki sebabe kita ndeleng akeh unit sing unggul. Iki mantan nul anjog sing padha digatèkaké déning compiler nalika dicithak ing baris pisanan. Punika program cilik sing uga nampilake nul anjog kanggo gamblang.
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 26

Bitwise AND operator

Operator iki ditrapake kanggo rong nomer. Iku nindakake operasi ANDantarane bit saben nomer. Ayo katon ing conto: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 16Operasi iki dileksanakake ing rong nomer. Tuladha ing kode Jawa:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 28

Bitwise UTAWA operator

UTAWA ditrapake kanggo rong nomer. Iku nindakake operasi UTAWA antarane bit saben nomer: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 17Saiki ayo kang njupuk dipikir apa iki bakal katon kaya ing IDEA:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 30

Operasi bitwise, eksklusif OR (XOR)

Ayo goleki conto sing padha, nanging kanthi operasi anyar: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 18Kode conto:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 32

Bitwise shift ngiwa

Operator iki ditrapake kanggo rong operand, yaiku, ing operasi kasebut x << y, bit nomer kasebut xbakal ngalih yposisi ngiwa. Iki artine apa? Coba deleng conto operasi kasebut, 10 << 1 Introduction to Java Operators: Logical, Aritmetika, Bitwise - 19asil operasi bakal dadi angka 20 ing sistem desimal. Nalika sampeyan bisa ndeleng saka diagram ndhuwur, kabeh bit dipindhah ngiwa dening 1. Sajrone operasi iki, Nilai saka bit paling pinunjul (bit paling kiwa) ilang. Lan bit paling penting (bit paling tengen) diisi nol. Apa sampeyan bisa ngomong babagan operasi iki?
  1. Kanthi ngoper bit nomer Xkanthi Nbit ngiwa, kita multiply nomer karo X2 N.

    Iki contone:

    Introduction to Java Operators: Logical, Aritmetika, Bitwise - 34
  2. Nanging! Tandha nomer bisa diganti yen bit karo nilai 1 njupuk posisi paling kiwa.

  3. Yen sampeyan ngalih ngiwa tanpa wates, angka kasebut bakal dadi 0. Ayo nuduhake poin 2 lan 3:

    Introduction to Java Operators: Logical, Aritmetika, Bitwise - 35

Bitwise shift tengen

Operator iki ditrapake kanggo rong operand. Sing. ing operasi x >> y, bit saka nomer xbakal ngalih yposisi menyang tengen. Ayo goleki conto liyane. Ayo kita analisa skematis operasi kasebut 10 >> 1. Ayo ngalih kabeh bit saka nomer 10 siji posisi menyang tengen: Introduction to Java Operators: Logical, Arithmetic, Bitwise - 20Sajrone operasi shift, kita ilang bit tengen. Padha mung ilang. Bit paling kiwa minangka tandha nomer (0 positif, 1 negatif). Mulane, ing nilai final diselehake padha ing nomer asli. Conto karo nomer negatif: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 21Bit paling tengen ilang, lan bit paling kiwa disalin saka nomer asli, minangka tandha kehormatan saka nomer. Kepiye carane nindakake kabeh iki ing IDEA? Ing asas, ora ana sing rumit, mung njupuk lan pindhah:
Introduction to Java Operators: Logical, Aritmetika, Bitwise - 38
Saiki. Apa sampeyan bisa ngomong babagan nomer sing dipindhah menyang sisih tengen? Padha bisa dibagi 2. Saben-saben kita mindhah siji dicokot menyang tengen, kita dibagi nomer asli karo 2. Yen nomer ora bisa dibagi dening 2, asil bakal dibunderaké menyang minus tanpa wates (mudhun). Nanging iki mung bisa digunakake yen kita mindhah bit kanthi persis 1. Lan yen 2 bit, dibagi 4. Kanthi 3 bit, dibagi 8. Kanthi 4 bit, dibagi 16. Waca? Kakuwasan 2... Nalika kita mindhah nomer Xmenyang Ntengen dening bit, kita dibagi nomer Xdening 2 kanggo daya 2 N. Demonstrasi:
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);
    }

   }

}
Apa sing kedadeyan ing kene?
  1. A loop ing ngendi variabel i ditambah saka 1 nganti 10.

  2. Saben iterasi kita ngetung 2 nilai:
    • Kita nulis menyang variabel shiftOperationResultasil nggeser nomer 2048 dening i bit ing sisih tengen;

    • devideOperationResultKita nulis asil pamisah angka 2048 kanthi 2 menyang daya i dadi variabel .

  3. Kita nampilake rong nilai sing dipikolehi kanthi pasangan.

Asil saka eksekusi program kaya ing ngisor iki: 1024 - 1024 512 - 512 256 - 256 128 - 128 64 - 64 32 - 32 16 - 16 8 - 8 4 - 4 2 - 2

Bitwise shift tengen karo nul padding

Nalika shift tengen normal ngreksa tandha saka nomer (dicokot paling pinunjul nahan nilai sawijining), shift tengen nul-isi ora. Lan bit paling pinunjul kapenuhan nol. Ayo ndeleng kaya apa: Introduction to Java Operators: Logical, Aritmetika, Bitwise - 22

Precedence saka operasi ing Jawa

Kaya matematika, Jawa nduweni precedence of operations. Tabel ing ngisor iki nuduhake prioritas (saka paling dhuwur nganti paling murah) saka operasi sing dianggep. Introduction to Java Operators: Logical, Aritmetika, Bitwise - 23

Conto migunani

Nemtokake paritas nomer

Introduction to Java Operators: Logical, Aritmetika, Bitwise - 24

Nemokake unsur maksimum ing array

Introduction to Java Operators: Logical, Aritmetika, Bitwise - 25Kanggo nemokake unsur minimal, mung ngganti tandha comparison ing panggonan tengen.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION