Rumah> Java> javaTutorial> teks badan

Cara menggunakan java right shift operator

DDD
Lepaskan: 2023-10-12 11:30:36
asal
1626 orang telah melayarinya

Penggunaan operator anjakan kanan Java: 1. Anjakan kanan yang ditandatangani, gerakkan nombor perduaan ke kanan mengikut bilangan digit yang ditentukan, dan isikan digit di sebelah kiri mengikut bit tanda nombor asal nombor positif, kemudian dalam Isi dengan bit sifar di sebelah kiri Jika nombor asal ialah nombor negatif, isikan dengan satu 1 di sebelah kiri 2. Anjakan kanan yang tidak ditandatangani, gerakkan nombor perduaan ke kanan mengikut bilangan digit yang ditentukan , dan isi dengan bit sifar di sebelah kiri, tanpa mengira Bit tanda nombor asal.

Cara menggunakan java right shift operator

Operator anjakan kanan (>>) dalam Java digunakan untuk menganjak nombor perduaan ke kanan dengan bilangan digit yang ditentukan dan mengisi digit kiri mengikut bit tanda nombor asal. Operator syif kanan datang dalam dua bentuk: syif kanan yang ditandatangani (syif kanan yang ditandatangani) dan syif kanan yang tidak ditandatangani.

1. Anjakan kanan yang ditandatangani (anjakan kanan yang ditandatangani)

Operator anjakan kanan yang ditandatangani mengalihkan nombor perduaan ke kanan dengan bilangan digit yang ditentukan dan mengisi digit di sebelah kiri mengikut bit tanda nombor asal. Jika nombor asal adalah positif, ia berlapik dengan sifar bit di sebelah kiri; Sintaks operator anjakan kanan yang ditandatangani adalah seperti berikut:

int result = value >> num;
Salin selepas log masuk

di mana nilai ialah nombor perduaan yang hendak dialihkan, num ialah bilangan digit yang hendak dialihkan, dan hasilnya ialah hasil operasi.

Kod sampel adalah seperti berikut:

int num = 10; // 要移动的二进制数 int shift = 2; // 要移动的位数 int result = num >> shift; // 有符号右移运算符的计算结果 System.out.println(result); // 输出结果为2
Salin selepas log masuk

Dalam contoh ini, nombor perduaan 10 dianjak ke kanan sebanyak 2 bit untuk mendapatkan 00001010, dan kemudian ditukar kepada nombor perpuluhan 2, hasil keluaran akhir ialah 2.

2. Anjakan kanan yang tidak ditandatangani

Pengendali anjakan kanan yang tidak ditandatangani mengalihkan nombor binari ke kanan dengan bilangan bit yang ditentukan dan mengisi bit sifar di sebelah kiri, tanpa mengira bit tanda nombor asal. Sintaks operator anjakan kanan yang tidak ditandatangani adalah seperti berikut:

int result = value >>> num;
Salin selepas log masuk

di mana nilai ialah nombor perduaan yang hendak dialihkan, num ialah bilangan digit yang hendak dialihkan, dan hasilnya ialah hasil operasi.

Kod sampel adalah seperti berikut:

int num = -10; // 要移动的二进制数 int shift = 2; // 要移动的位数 int result = num >>> shift; // 无符号右移运算符的计算结果 System.out.println(result); // 输出结果为1073741821
Salin selepas log masuk

Dalam contoh ini, nombor perduaan -10 tidak ditandatangani dan dialihkan ke kanan sebanyak 2 bit untuk mendapatkan 00111111111111111111111111111110, yang kemudiannya ditukarkan kepada 111110 nombor perpuluhan, yang kemudiannya adalah 17 keluaran 18 dan 18 nombor akhir. 1073741821.

Perlu diambil perhatian bahawa bilangan digit yang hendak dipindahkan mestilah integer bukan negatif, jika tidak pengecualian akan dilemparkan. Apabila menggunakan operator syif yang betul, perhatian khusus harus diberikan kepada cara bit tanda dan bit sifar diisi untuk mengelakkan hasil operasi yang tidak dijangka.

Atas ialah kandungan terperinci Cara menggunakan java right shift operator. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!