Dalam C , bahasa itu sendiri tidak menentukan representasi tipe data tertentu. Ini dapat bervariasi dari satu mesin ke mesin lainnya, pada sistem embedded intdapat lebar 16 bit, meskipun biasanya 32 bit.
Satu-satunya persyaratan adalah bahwa short int<= int<= long intberdasarkan ukuran. Juga, ada rekomendasi yang intharus mewakili kapasitas asli prosesor .
Semua tipe sudah ditandatangani. The unsignedpengubah memungkinkan Anda untuk menggunakan bit tertinggi sebagai bagian dari nilai (jika tidak dicadangkan untuk bit tanda).
Berikut adalah tabel pendek dari nilai yang mungkin untuk tipe data yang mungkin:
width minimum maximum
signed 8 bit -128 +127
signed 16 bit -32 768 +32 767
signed 32 bit -2 147 483 648 +2 147 483 647
signed 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
unsigned 8 bit 0 +255
unsigned 16 bit 0 +65 535
unsigned 32 bit 0 +4 294 967 295
unsigned 64 bit 0 +18 446 744 073 709 551 615
Di Jawa , yang Java Language Specification menentukan representasi dari tipe data.
Urutannya adalah: byte8 bit, short16 bit, int32 bit, long64 bit. Semua jenis ini ditandatangani , tidak ada versi yang tidak ditandatangani. Namun, manipulasi bit memperlakukan angka-angka seperti yang tidak ditandatangani (yaitu, menangani semua bit dengan benar).
Tipe data karakter charadalah lebar 16 bit, tidak bertanda , dan menampung karakter menggunakan pengkodean UTF-16 (namun, dimungkinkan untuk menetapkan charbilangan bulat 16 bit yang tidak ditandatangani yang mewakili kode karakter yang tidak valid)
width minimum maximum
SIGNED
byte: 8 bit -128 +127
short: 16 bit -32 768 +32 767
int: 32 bit -2 147 483 648 +2 147 483 647
long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
UNSIGNED
char 16 bit 0 +65 535