cari

Rumah  >  Soal Jawab  >  teks badan

java - & 0x7fff 是什么意思呢?

String strs = "13634393448";
Bytes.toBytes((short) (strs.hashCode() & 0x7fff));

这里面的 & 0x7fff 是什么意思呢?

PHPzPHPz2770 hari yang lalu1132

membalas semua(5)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-18 09:45:40

    0x07fff=0111111111111111
    Apakah yang akan berlaku jika anda mengendalikan perkara ini? Bit pertama ialah 0, dan bit lain kekal tidak berubah.

    Bergantung pada jenis data, bit yang lebih tinggi dalam jenis data yang ditandatangani mewakili simbol Dalam kes ini, operasi AND digunakan untuk mendapatkan nilai mutlak, iaitu, untuk mendapatkan 15 bit yang berguna.

    Kadangkala carian bitwise atau operasi bitwise adalah lebih pantas.

    Ada satu lagi situasi di mana ia digunakan untuk menunjuk-nunjuk.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:45:40

    Nilai pulangan

    String.hashCode() dikira seperti berikut: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
    Anda memberikan 13634393448 dan hasil Kod cincangnya ialah 1002012672, iaitu 0x3bb98000.
    melakukan operasi "0x7fff dan " dengan , yang bermaksud mengambil tiga digit terakhir 0x3bb98000 Keputusan soalan ini secara semulajadi 0.

    balas
    0
  • PHPz

    PHPz2017-04-18 09:45:40

    0x7fff = 0111 1111 1111 1111
    & ialah operasi DAN
    jadi operasi ini adalah untuk mengambil 15 digit terakhir perwakilan binari nombor "13634393448"

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:45:40

    0x Tukar perenambelasan

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:45:40

    Satu & ialah operasi AND bitwise, dua & ialah logik DAN

    balas
    0
  • Batalbalas