Tanda bendera digunakan oleh kategori perwakilan yang ditandatangani untuk menandakan integer negatif. Kategori data yang tidak ditandatangani tidak menggunakan tanda sedemikian kerana ia hanya boleh memasukkan sifar dan semua nilai positif yang lain. Perbezaan 'ditandatangani' dan 'tidak ditandatangani' adalah penting untuk aplikasi komputer berfungsi dengan baik.
Ditandatangani vs Tidak Ditandatangani
Perbezaan antara kategori data yang ditandatangani dan yang tidak ditandatangani ialah walaupun yang ditandatangani termasuk integer positif dan negatif, yang tidak ditandatangani hanya termasuk integer positif.
Dalam pengaturcaraan komputer, kategori 'ditandatangani' dan 'tidak ditandatangani' ini merujuk kepada pembolehubah yang boleh mengandungi jenis integer tertentu. Dalam konteks pengekodan, kategori bekas boleh memuatkan kedua-dua jenis integer, manakala kategori kedua boleh merangkumi nombor sifar dan keseluruhan senarai integer positif.
Jadual Perbandingan Antara Ditandatangani dan Tidak Ditandatangani
Parameter Perbandingan | Ditandatangani | Tidak ditandatangani |
Nilai Disertakan | Kategori data yang ditandatangani termasuk integer positif dan negatif. | Kategori data yang tidak ditandatangani termasuk hanya sifar dan integer positif lain. Mereka tidak boleh memasukkan integer negatif. |
Magnitud | Integer yang ditandatangani mempunyai magnitud yang lebih kecil daripada rakan sejawatannya yang tidak ditandatangani dalam julat yang sama. | Integer yang tidak ditandatangani mempunyai magnitud yang lebih besar daripada bilangan yang ditandatangani daripada julat yang sama. |
Tanda Bendera | Jenis data yang ditandatangani menggunakan tanda bendera sebelum nombor negatif yang diwakilinya. | Jenis data yang tidak ditandatangani tidak menggunakan tanda bendera sebelum nombor, kerana ia hanya mewakili integer positif. |
Proses Pengenalan | Bit sisa digunakan oleh bekas data yang ditandatangani. | Bit utama nilai digunakan oleh bekas data yang tidak ditandatangani. |
Julat dalam Char | Integer yang ditandatangani berjulat dari -128 hingga 127 dalam aksara. | Integer tidak ditandatangani berjulat dari 0 hingga 255 dalam aksara. |
Kaedah Perwakilan | Borang pelengkap 1, borang pelengkap 2, dan kaedah bentuk tanda-magnitud boleh digunakan untuk mewakili pembolehubah binari yang ditandatangani. | Pembolehubah binari yang tidak ditandatangani tidak mempunyai tanda atau simbol terdahulu, dan oleh itu, terdapat hanya satu kaedah perwakilan untuk pembolehubah binari tersebut. |
Kaedah Perwakilan yang Tidak Jelas | 1 daripada 3 kaedah perwakilan yang mungkin tidak jelas. | Satu-satunya kaedah perwakilan yang ada ialah kaedah yang tidak jelas. |
Apa yang Ditandatangani?
Perwakilan nombor yang ditandatangani ialah pengkategorian integer positif dan negatif. Pengumpulan data yang ditandatangani terdiri daripada nombor pada kedua-dua belah garis nombor. Nombor negatif dibezakan daripada yang positif dengan tanda bendera.
Pengumpulan nombor yang ditandatangani digunakan dalam pengaturcaraan komputer. Terdapat tiga kaedah untuk mewakili set data yang ditandatangani. Di bawah kaedah magnitud tanda, satu bit dikhaskan untuk simbol tanda. Ini menjadikannya kaedah yang tidak jelas.
Begitu juga, kaedah pelengkap 1 juga merupakan kaedah samar-samar bagi perwakilan integer yang ditandatangani. Kaedah pelengkap 2 ialah satu-satunya kaedah yang tidak jelas yang boleh digunakan untuk mewakili integer ini. Jenis data sedemikian telah digunakan secara meluas dalam pembangunan bahasa pengaturcaraan seperti C dan C+.
Apa itu Unsigned?
Pengkategorian data yang tidak ditandatangani pada asasnya adalah klasifikasi integer positif. Mereka secara eksklusif mengandungi nilai-nilai positif. Sifar juga merupakan sebahagian daripada pengkategorian yang tidak ditandatangani. Set data yang tidak ditandatangani tidak mempunyai tanda bendera sebelum integer yang disertakan kerana semua nilai adalah positif.
Seperti integer binari yang ditandatangani, yang tidak ditandatangani juga digunakan dalam domain pengaturcaraan. C++, C# dan bahasa pengaturcaraan lain menggunakan set data ini. Dalam char, integer binari yang tidak ditandatangani berjulat dari 0 hingga 255.
Jenis data yang tidak ditandatangani hanya boleh mewakili magnitud nombor perduaan yang diwakilinya. Ini bermakna setiap nombor hanya mempunyai satu bentuk setara binari. Oleh itu, bentuk perwakilan ini dipanggil kaedah perwakilan yang tidak jelas. Selain itu, pembolehubah tidak bertanda mempunyai dua kali ganda magnitud rakan sejawatannya yang ditandatangani dalam julat yang sama.
Perbezaan Utama Antara Ditandatangani dan Tidak Ditandatangani
- Perbezaan utama antara jenis data yang ditandatangani dan tidak ditandatangani ialah yang pertama membenarkan pengguna untuk mewakili kedua-dua nombor positif dan negatif, manakala yang kedua digunakan untuk mewakili sifar dan nombor positif yang lain. Nombor negatif tidak boleh diwakili oleh jenis data yang tidak ditandatangani. Mereka boleh digunakan secara eksklusif untuk integer positif.
- Walaupun jenis pembolehubah yang ditandatangani dan yang tidak ditandatangani mempunyai julat yang sama, yang terakhir mewakili magnitud nombor yang lebih besar daripada pembolehubah bertanda yang sepadan.
- Pengkategorian data yang ditandatangani menggunakan tanda bendera sebelum nombor negatif yang diwakilinya. Tiada tanda bendera sedemikian digunakan oleh kategori data yang tidak ditandatangani kerana ia hanya mewakili nombor positif.
- Kedua-dua kategori juga berbeza dari segi julat individunya dalam konteks char. Integer yang ditandatangani berjulat dari -128 hingga 127 dalam aksara, manakala integer yang tidak ditandatangani berjulat dari 0 hingga 255 dalam aksara.
- Satu lagi perbezaan antara kedua-duanya ialah kaedah pengenalan setiap kegunaan. Bit pendahuluan nilai tertentu digunakan sebagai sebahagian daripada nilai oleh kategori data yang tidak ditandatangani untuk mengenal pasti sama ada nombor itu positif atau negatif. Sebagai alternatif, jenis data yang ditandatangani menggunakan bit sisa untuk membuat pengenalan yang sama.
- Kaedah pelengkap 1, kaedah pelengkap 2, dan kaedah bentuk tanda-magnitud boleh digunakan untuk mewakili pembolehubah bertanda, kerana sesetengah pembolehubah binari mempunyai tanda bendera negatif. Manakala pembolehubah binari bagi kategori tidak ditandatangani semata-mata mewakili magnitudnya kerana kesemuanya adalah integer positif.
- Integer binari yang ditandatangani mempunyai tiga teknik perwakilan yang mungkin tetapi hanya satu kaedah perwakilan yang tidak jelas, manakala binari yang tidak ditandatangani mempunyai satu kaedah perwakilan yang seterusnya tidak jelas.
Kesimpulan
Kod binari digunakan untuk pengaturcaraan. Ia juga digunakan oleh komputer untuk menyimpan dan mengakses data. Dua jenis data digunakan untuk tujuan ini- ditandatangani dan tidak ditandatangani. Kategori data yang ditandatangani boleh termasuk nilai yang positif dan juga negatif.
Sebaliknya, kategori data yang tidak ditandatangani hanya terdiri daripada integer positif. Eksklusiviti kategori data yang tidak ditandatangani ini menandakan kepelbagaiannya yang berbeza daripada kategori yang ditandatangani.
Integer yang ditandatangani menggunakan simbol bendera untuk menandakan integer negatif. Jenis data yang tidak ditandatangani tidak menggunakan simbol bendera sedemikian kerana semua integer yang termasuk dalam kategori ini adalah sentiasa positif.
Perbezaan mani antara kedua-duanya perlu disedari untuk mengelakkan daripada menggunakan kedua-duanya secara tidak betul. Jika kedua-dua kategori data digunakan secara tidak betul atau penggunaannya digabungkan dengan cara yang menjejaskan pengaturcaraan peranti, komputer biasanya mengeluarkan amaran, memberitahu pengguna untuk membetulkan kebimbangan.
Rujukan
- https://ieeexplore.ieee.org/abstract/document/6606625/
- https://link.springer.com/chapter/10.1007/978-3-540-28628-8_8
- https://www.cs.umn.edu/sites/cs.umn.edu/files/tech_reports/14-006.pdf