Perbedaan antara ditandatangani dan tidak ditandatangani

Perbedaan antara ditandatangani dan tidak ditandatangani

Ditandatangani vs Unsigned

Sistem angka kami meluas dari tak terhingga ke tak terhingga ke tak terhingga dengan nol tepat di tengah. Namun, dalam pemrograman, pada dasarnya ada dua jenis angka; yang ditandatangani dan tidak ditandatangani. Perbedaan utama antara angka yang ditandatangani dan yang tidak ditandatangani adalah, yah, kemampuan untuk menggunakan angka negatif. Angka yang tidak ditandatangani hanya dapat memiliki nilai nol atau lebih. Sebaliknya, angka yang ditandatangani lebih alami dengan kisaran yang mencakup bilangan negatif hingga positif.

Penciptaan angka yang ditandatangani dan tidak ditandatangani diminta oleh kebutuhan untuk mewakili nilai numerik dengan sumber daya yang sangat terbatas. Misalnya, menggunakan 8 bit, Anda hanya memiliki total 256 kombinasi. Dengan angka yang tidak ditandatangani, itu berarti nilai apa pun antara 0 dan 255. Sebaliknya, memiliki nomor yang ditandatangani berarti Anda sudah kehilangan sedikit karena mewakili tanda tersebut. Dengan 7 bit Anda memiliki maksimum 128 kombinasi sehingga jangkauan Anda dengan nomor 8 bit yang ditandatangani dari -128 hingga 127. Jadi, jika Anda memiliki sumber daya yang terbatas, seperti pada hari -hari awal komputasi, menggunakan angka yang tidak ditandatangani adalah cara untuk pergi.

Saat menggunakan nomor yang ditandatangani dan tidak ditandatangani dalam pemrograman, lebih aman untuk hanya menggunakan satu atau yang lain secara bersamaan menggunakan keduanya dapat mengakibatkan masalah. Yang pertama adalah ketika Anda membandingkan yang tidak ditandatangani dengan nomor yang ditandatangani. Ini biasanya menghasilkan peringatan, tetapi kompiler bisa mengkompilasinya. Masalah kedua dan lebih serius adalah ketika Anda menetapkan konten nomor yang tidak ditandatangani ke nomor yang ditandatangani. Jika nilai angka yang tidak ditandatangani lebih besar dari nilai maksimum dari angka yang ditandatangani, ini akan menghasilkan kesalahan.

Ketika teknologi dikembangkan, sumber daya menjadi lebih berlimpah, dan penggunaan angka yang tidak ditandatangani menjadi kurang dan kurang diperlukan. Untuk mengilustrasikan hal ini, perlu diingat bahwa jumlah panjang 32 bit dapat memiliki nilai maksimum yang ditandatangani sebesar 2 juta atau 4 juta jika tidak ditandatangani. Ketika Anda pindah ke 64 bit, perbedaannya adalah antara 90 dan 180 quintillion; nilai yang jarang digunakan jika sama sekali dalam program umum.

Ringkasan:

1.Angka yang tidak ditandatangani hanya termasuk nol dan angka positif sementara angka yang ditandatangani termasuk angka negatif.
2.Angka yang ditandatangani memiliki setengah nilai maksimum dari angka yang tidak ditandatangani.
3.Mencampur angka yang ditandatangani dan tidak ditandatangani dapat mengakibatkan masalah.
4.Menggunakan nomor yang ditandatangani atau tidak ditandatangani memiliki sedikit bantalan dalam aplikasi modern.