Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Perbezaan dalam hasil pengiraan anjakan bitwise

Perbezaan dalam hasil pengiraan anjakan bitwise

Feb 08, 2024 pm 09:11 PM
penukaran tersirat

Perbezaan dalam hasil pengiraan anjakan bitwise

Editor PHP Zimo membawakan anda artikel tentang "Perbezaan dalam keputusan pengiraan anjakan bitwise". Dalam pengaturcaraan komputer, operasi anjakan bit ialah operasi biasa, yang boleh melakukan operasi anjakan kiri atau kanan pada nombor binari. Walau bagaimanapun, bahasa pengaturcaraan yang berbeza mungkin mempunyai perbezaan dalam memproses hasil operasi anjakan, yang memerlukan pemaju untuk memberi perhatian. Artikel ini akan memperkenalkan secara terperinci perbezaan dalam hasil operasi anjakan dalam bahasa pengaturcaraan yang berbeza, dan memberikan beberapa contoh untuk membantu pembaca lebih memahami dan menggunakan operasi anjakan. Sama ada anda seorang pemula atau pembangun dengan beberapa asas pengaturcaraan, anda boleh mendapatkan pengetahuan dan kemahiran yang berguna daripada artikel ini.

Kandungan soalan

Terdapat perbezaan dalam output program my go, khususnya pembolehubah x1 dan x2. Berikut ialah coretan kod yang berkaitan:

package main

var n uint = 10
const N uint = 10

func main() {
    var x1 byte = (1 << n) / 100
    var x2 byte = (1 << N) / 100
    println(x1, x2)
}
Salin selepas log masuk

Output yang dijangkakan: 10 10

Keluaran sebenar: 0 10

Bersikap ingin tahu tentang sebab di sebalik perbezaan dan dapatkan penjelasan.

Penyelesaian

Ekspresi malar menilai kepada ketepatan yang tidak ditentukan. Ditugaskan kepada x2 的所有内容都是恒定的,因此它可以正确计算 210 / 100 = 1024 / 100 = 10。而在第一个表达式中,1 被视为 byte,这意味着它会立即移出。 1 必须被视为 byte dalam spesifikasi :

Jika operan kiri ungkapan anjakan bukan const ialah pemalar yang tidak ditaip, ia mula-mula secara tersirat ditukar kepada jenis yang diandaikan apabila ungkapan anjakan digantikan hanya dengan operan kirinya.

1 ialah pemalar yang tidak ditaip di sebelah kiri, nvar 使得表达式变得非常量,因此 1 必须具有其受让人 x1 的类型,即 byte.

Atas ialah kandungan terperinci Perbezaan dalam hasil pengiraan anjakan bitwise. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan pendek dalam java Bagaimana untuk menggunakan pendek dalam java May 07, 2024 am 03:33 AM

short ialah jenis data primitif dalam Java yang mewakili integer bertanda 16-bit dalam julat -32,768 hingga 32,767. Ia sering digunakan untuk mewakili integer kecil, seperti pembilang atau ID, dan menyokong operasi aritmetik asas dan penukaran jenis. Tetapi kerana pendek ialah jenis yang ditandatangani, anda perlu berhati-hati apabila menggunakan pembahagian untuk mengelakkan limpahan atau aliran bawah.

Penggunaan ifnull dalam sql Penggunaan ifnull dalam sql Apr 28, 2024 am 09:57 AM

Fungsi IFNULL menyemak sama ada ungkapan adalah NULL dan mengembalikan nilai lalai yang ditentukan jika ya, jika tidak, ia mengembalikan nilai ungkapan. Ia menghalang nilai nol daripada menyebabkan ralat, membenarkan manipulasi nilai nol, dan meningkatkan kebolehbacaan pertanyaan. Penggunaan termasuk: menggantikan nilai nol dengan nilai lalai, tidak termasuk nilai nol daripada pengiraan, dan penggunaan bersarang untuk mengendalikan berbilang situasi nilai nol.

Bagaimana untuk mengira pembahagian dalam bahasa c Bagaimana untuk mengira pembahagian dalam bahasa c Apr 13, 2024 pm 09:12 PM

Dalam bahasa C, tingkah laku operator bahagian / bergantung pada jenis data operan: Pembahagian integer: Apabila operan ialah integer, pembahagian integer dilakukan dan hasilnya dibundarkan ke bawah. Pembahagian titik terapung: Apabila operan ialah nombor titik terapung, pembahagian titik terapung dilakukan dan hasilnya ialah nombor titik terapung. Penukaran jenis: Apabila satu operan ialah integer dan satu lagi tidak, integer secara tersirat ditukar kepada nombor titik terapung, dan kemudian pembahagian titik terapung dilakukan. Pembahagi dengan 0: Ralat matematik berlaku apabila pembahagi ialah 0. Operasi modulo: Gunakan operator % untuk operasi modulo dan bukannya pembahagian modulo.

Apakah maksud char dalam java? Apakah maksud char dalam java? May 01, 2024 pm 06:15 PM

Jenis char dalam Java digunakan untuk menyimpan satu aksara Unicode, merangkumi 2 bait, antara U+0000 hingga U+FFFF Ia digunakan terutamanya untuk menyimpan aksara teks Ia boleh dimulakan melalui petikan tunggal atau urutan melarikan diri Unicode. dan boleh mengambil bahagian dalam perbandingan, Kesamaan, ketidaksamaan dan operasi bergabung boleh ditukar secara tersirat kepada jenis int atau ditukar secara eksplisit kepada objek Aksara.

Apakah peraturan padanan untuk kelebihan beban fungsi C++? Apakah peraturan padanan untuk kelebihan beban fungsi C++? Apr 27, 2024 am 08:27 AM

Peraturan pemadanan lampau fungsi C++ adalah seperti berikut: padankan nombor dan jenis parameter dalam panggilan. Susunan parameter mestilah konsisten. Constness dan pengubah rujukan mesti sepadan. Parameter lalai boleh digunakan.

Apakah jenis parameter fungsi PHP? Apakah jenis parameter fungsi PHP? Apr 10, 2024 pm 04:21 PM

Jenis parameter fungsi PHP termasuk jenis skalar (integer, nombor titik terapung, rentetan, nilai Boolean, nilai nol), jenis komposit (tatasusunan, objek) dan jenis khas (fungsi panggil balik, parameter berubah). Fungsi boleh menukar parameter jenis yang berbeza secara automatik, tetapi ia juga boleh memaksa jenis tertentu melalui pengisytiharan jenis untuk mengelakkan penukaran tidak sengaja dan memastikan ketepatan parameter.

Adakah terdapat penukaran tersirat kepada jenis nilai pulangan fungsi dalam PHP? Adakah terdapat penukaran tersirat kepada jenis nilai pulangan fungsi dalam PHP? Apr 15, 2024 am 10:48 AM

Ya, PHP menyokong penukaran tersirat nilai pulangan fungsi: secara lalai, jenis pulangan fungsi tidak ditukar secara tersirat. Dalam sesetengah kes, PHP mungkin perlu menukar jenis nilai pulangan agar serasi dengan operasi lain. Sebagai contoh, fungsi yang mengembalikan rentetan boleh ditukar secara tersirat kepada integer. Penukaran jenis tersirat boleh menyebabkan akibat yang tidak diingini dan harus digunakan dengan berhati-hati.

Bagaimana untuk menyatakan pemalar berangka dalam bahasa C Bagaimana untuk menyatakan pemalar berangka dalam bahasa C May 02, 2024 pm 07:45 PM

Pemalar berangka dalam bahasa C mempunyai kaedah perwakilan berikut: integer perpuluhan integer perlapanan heksadesimal integer perpuluhan nombor titik terapung saintifik notasi aksara pemalar pemalar Boolean

See all articles