js pelaksanaan prinsip penyongsangan bit tertentu dan kemahiran examples_javascript

WBOY
Lepaskan: 2016-05-16 16:42:55
asal
1292 orang telah melayarinya

Apabila saya pergi ke Huawei untuk temu duga, saya tidak begitu bersedia untuk bertanya atau menyemak proses temu duga dengan jelas. yang sebenarnya agak tidak bersedia. Penulis ialah seorang jurutera Web Java yang mahir di bahagian hadapan, dan pengetahuan pengaturcaraan peringkat rendah asas telah lama tidak dikenali. Soalan ujian berasaskan komputer menemui soalan operasi bit ini Ia dikatakan sangat mudah dan prinsipnya sangat jelas kepada saya Namun, kerana saya tidak melakukan operasi bit selama bertahun-tahun, dan saya tidak pernah melakukan operasi bit Java. hasilnya sungguh memalukan...

Had masa ujian komputer adalah satu jam Bahasa boleh menjadi C atau bahasa skrip apa lagi penulis mengambil masa hampir tiga jam untuk menyelesaikan soalan dalam Java. Saya akan menggunakan JS apabila Saya kembali. Saya telah melaksanakan semula versi mudah dan menyiarkannya hari ini.

Soalannya ialah: masukkan secara kitaran setiap kumpulan dua nombor hex dan n (0<=n<31 Hex ialah nombor perenambelasan Apa yang perlu kita lakukan ialah menyongsangkan digit ke-n hex, dan kemudian Output the hasil yang sepadan dalam format perenambelasan.

Saya tidak akan menerangkan secara terperinci proses yang mengambil masa lebih daripada dua jam Berikut ialah pelaksanaan js, yang merupakan pengetahuan asas yang sangat mudah tentang operasi bit. Prinsipnya mudah, cuma alihkan 1 ke kiri dengan n bit, dan kemudian XOR dengan nombor asal:

function bitOper(hex, n){ 
var num = parseInt(hex); 
num ^= (1<<n); 
return num.toString(16); 
} 
console.log(bitOper(0x1234, 3)); //123c
Salin selepas log masuk

Disebabkan oleh pengehadan 32-bit jenis integer js, kod contoh di atas hanya menyokong kes mudah n<31 (bit 31 ialah bit tanda).

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
Tutorial Popular
Lagi>
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!