Gelagat Ingin Tahu Java dalam Penukaran Jenis: Membongkar Misteri -124
Apabila cuba untuk menetapkan integer kepada bait dalam Java, satu yang menarik timbul pemerhatian: nilai integer 132 diberikan sebagai -124 apabila dibuang kepada bait. Hasil yang membingungkan ini pada mulanya mungkin kelihatan membingungkan.
Meneroka Teka-teki Pelengkap Keduanya
Untuk merungkai enigma ini, adalah penting untuk menyelidiki jenis data asas Java dan perwakilannya. Di Java, jenis integer seperti int dan bait ditandatangani, menggunakan notasi pelengkap kedua-duanya. Dengan tatatanda ini, bit yang paling ketara menandakan tanda, mengekalkan nilainya sebagai bit yang paling ketara kerana nombor itu dikembangkan kepada saiz bit yang lebih besar.
Mencari Kebahagiaan yang Tidak Ditandai
Dalam kebanyakan senario, adalah wajar untuk mentafsirkan bait sebagai nilai yang tidak ditandatangani, membuang sebarang maklumat tanda. Ini boleh dicapai melalui operasi bitwise. Contohnya, menggunakan bitwise DAN dengan topeng 0xff pada bait yang ditandatangani dengan berkesan menghapuskan bit tanda, mendedahkan nilai yang tidak ditandatangani.
Ritual Unmasking Unraveled
The proses berlaku seperti berikut:
Teknik ini membolehkan pengekstrakan lancar nilai bait tidak bertanda daripada integer yang ditandatangani.
Kesimpulan
Penukaran Java daripada int kepada bait boleh memperkenalkan tingkah laku yang halus lagi menarik kerana notasi pelengkap dua yang mendasari. Memahami nuansa ini membantu merungkai misteri di sebalik output -124 yang tidak dijangka, memperkasakan pembangun untuk memanipulasi jenis data dengan berkesan dalam aplikasi Java mereka.
Atas ialah kandungan terperinci Mengapa Integer Java Dilemparkan ke Bait Menghasilkan -124 Apabila Ia 132?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!