Rumah >masalah biasa >Apakah jenis data uint16?
uint16 ialah jenis integer tidak bertanda 16-bit mempunyai dua jenis: tidak ditandatangani dan ditandatangani Secara lalai, pembolehubah integer yang diisytiharkan adalah jenis yang ditandatangani sebelum jenis.
Persekitaran pengendalian artikel ini: sistem Windows 7, komputer DELL G3
Apakah jenis data uint16?
uint16 ialah jenis integer 16-bit yang tidak ditandatangani, uint8 ialah jenis integer 8-bit yang tidak ditandatangani
Nombor bulat mempunyai dua jenis: tidak ditandatangani (tidak ditandatangani) dan ditandatangani (ditandatangani Oleh). lalai, pembolehubah integer yang diisytiharkan ialah jenis yang ditandatangani (kara adalah agak istimewa. Jika anda perlu mengisytiharkan jenis yang tidak ditandatangani, anda perlu menambah yang tidak ditandatangani sebelum jenis tersebut). Apabila adalah mustahil untuk mengambil nilai negatif, ia boleh ditakrifkan sebagai tidak ditandatangani Dalam sesetengah data pengaturcaraan terbenam asas, ia biasanya tidak ditandatangani.
Pengenalan berkaitan:
Penukaran integer yang ditandatangani dan integer yang tidak ditandatangani apabila nombor negatif
Apabila melakukan operasi ( Seperti di sini a>b ), jika salah satu operannya ditandatangani dan satu lagi tidak ditandatangani, maka bahasa C secara tersirat akan memaksa parameter yang ditandatangani kepada nombor yang tidak ditandatangani dan menganggap kedua-dua Nombor itu semuanya bukan negatif untuk melaksanakan operasi ini.
Integer biasanya wujud dalam bentuk pelengkap dalam komputer, dan pelengkap -1 (disimpan dalam 4 bait) ialah 1111,1111,1111,1111. Bagi kebanyakan pelaksanaan bahasa C, peraturan umum untuk menukar antara nombor bertanda dan tidak bertanda dengan panjang perkataan yang sama ialah: nilai mungkin berubah, tetapi corak bit tidak.
Iaitu, menghantar int tidak bertanda kepada int, atau menukar int kepada int tidak bertanda, perwakilan bit asas kekal tidak berubah. Dalam erti kata lain, walaupun selepas -1 ditukar kepada unsigned int, perwakilannya dalam ingatan tidak berubah, iaitu, 1111,1111,1111,1111.
Perwakilan storan yang sama mungkin sepadan dengan data yang berbeza untuk aplikasi Contohnya, 1111, 1111, 1111, 1111 mewakili -1 untuk nombor yang ditandatangani, tetapi untuk nombor yang tidak ditandatangani, ia Mewakili UMax (kerana tiada tanda. bit, sama seperti pelengkap nombor positif adalah dirinya sendiri, dan bit tertinggi tidak mewakili bit tanda), tetapi storan asasnya adalah sama.
Untuk lebih banyak pengetahuan berkaitan, sila lawati ruangan Soalan Lazim!
Atas ialah kandungan terperinci Apakah jenis data uint16?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!