Dalam C, dalam konteks yang tidak melibatkan promosi bilangan bulat , nilai yang tidak ditandai ditetapkan untuk berperilaku sebagai anggota dari cincin aljabar abstrak "pembungkus" (jadi untuk X dan Y, XY akan menghasilkan nilai unik yang, ketika ditambahkan ke Y, akan menghasilkan X ), ketika tipe integer yang ditandatangani ditentukan sebagai berperilaku seperti integer ketika perhitungan berada dalam kisaran tertentu, dan diizinkan untuk melakukan apa saja ketika perhitungan melampaui itu. Namun, semantik numerik dalam C # benar-benar berbeda. Ketika dalam konteks numerik yang dicentang, kedua tipe yang ditandatangani dan tidak bertanda berperilaku seperti bilangan bulat asalkan komputasi tetap berada dalam jangkauan, dan melempar OverflowException
ketika tidak; dalam konteks yang tidak dicentang, keduanya berperilaku seperti cincin aljabar.
Satu-satunya waktu yang secara umum bermanfaat untuk menggunakan tipe data yang lebih kecil dari pada Int32
saat diperlukan untuk mengemas atau membongkar barang untuk penyimpanan atau transportasi yang ringkas. Jika seseorang perlu menyimpan setengah miliar angka positif, dan mereka semua akan berada dalam kisaran 0 hingga 100, menggunakan masing-masing satu byte daripada empat akan menghemat 1,5 gigabytes penyimpanan. Itu penghematan besar. Jika sepotong kode perlu menyimpan total beberapa ratus nilai, bagaimanapun, membuat masing-masing satu byte daripada empat akan menghemat sekitar 600 byte. Mungkin tidak layak untuk diganggu.
Berkenaan dengan jenis yang tidak ditandatangani, satu-satunya waktu mereka benar-benar berguna adalah ketika melakukan pertukaran informasi, atau ketika membagi angka menjadi beberapa bagian. Jika, misalnya, seseorang perlu melakukan matematika pada bilangan bulat 96-bit, kemungkinan akan lebih mudah untuk melakukan perhitungan pada kelompok tiga bilangan bulat 32 bit yang tidak ditandatangani, daripada pada kelompok bilangan bulat yang ditandatangani. Kalau tidak, tidak ada banyak situasi di mana kisaran nilai 32- atau 64-bit yang ditandatangani tidak memadai, tetapi ukuran yang sama dari nilai yang tidak ditandatangani akan cukup.