Menu Close

Perbedaan antara Char Signed dan Unsigned Char

Perbedaan utama: Signed char dan unsigned char adalah dua tipe data yang digunakan dalam pemrograman C. Karakter yang tidak ditandatangani dan yang ditandatangani digunakan untuk menyimpan karakter dan terdiri dari area 8 bit. Karakter yang tidak ditandatangani memiliki nilai antara 0 dan 255, sedangkan karakter yang ditandatangani memiliki nilai dari –128 hingga 127 (pada mesin dengan 8 bit byte dan aritmatika komplemen dua).

   

Char adalah tipe data yang digunakan dalam pemrograman C untuk menyimpan karakter seperti huruf dan tanda baca. Namun, masih tetap menjadi tipe integer. Ini karena alasan bahwa tipe char secara teknis menyimpan bilangan bulat dan bukan karakter. Itu menggunakan kode numerik yang mewakili karakter dengan menggunakan bilangan bulat. Misalnya – kode ASCII yang merupakan salah satu kode yang paling umum digunakan untuk melakukan interpretasi tersebut.

C90 memungkinkan C untuk menggunakan kata kunci yang ditandatangani dan tidak ditandatangani dengan char. Penting untuk dicatat bahwa mereka hanya digunakan ketika nilai integer kecil harus ditangani. Signed char dan unsigned char keduanya berukuran 8 bit byte pada mesin 16 bit. Mereka terutama berbeda dalam kisaran yang diwakili oleh mereka. Kisaran char yang tidak ditandatangani adalah 0 hingga 255, sedangkan ukuran char atau char yang ditandatangani adalah -128 hingga 127.

   

Transformasi char menjadi nilai int dilakukan secara otomatis oleh C. Namun, masih tergantung pada mesin yang memutuskan bahwa hasilnya akan negatif atau tidak. Huruf besar A setara dengan nilai integer 65.

Istilah tidak ditandatangani dan ditandatangani digunakan dengan char berarti bahwa jika isi dari delapan bit ini ditafsirkan menjadi bilangan bulat maka istilah ini dapat membuat beberapa perbedaan. Tipe data karakter biasanya bertipe unsigned secara default. Namun, dalam mode C ++ dan ANSI C, ada opsi untuk mendeklarasikannya secara eksplisit sebagai karakter yang ditandatangani atau tidak. Dalam unsigned char 8 bit digunakan sebagai bit data, sedangkan dalam representasi memori dari char yang ditandatangani 1 bit (bit paling signifikan) digunakan untuk bit yang ditandatangani dan 7 bit digunakan sebagai bit data. Jika bit yang ditandatangani adalah 0 berarti angka itu positif. Jika bit yang ditandatangani adalah 1 maka angka negatif.

Perbandingan antara Char yang Ditandatangani dan Char yang Tidak Ditandatangani:

   

Tertanda Char

Char Tidak Bertanda

Jarak

-128 hingga +127

0 hingga 255

Lebar bit tipikal

1 byte

1 byte

Contoh (x = 10000010)

Tanda char x = -2

Karakter yang tidak ditandai = 82

Perwakilan

1 bit = bit yang ditandatangani

7 bit = bit data

8 bit = bit data

Pernyataan

Tanda tangan b

Karakter yang tidak ditandatangani a

Gambar Istimewa: lekhrajkullu.blogspot.in