Dalam C , bahasa itu sendiri tidak menentukan representasi tipe data tertentu. Ini dapat bervariasi dari satu mesin ke mesin lainnya, pada sistem embedded int
dapat lebar 16 bit, meskipun biasanya 32 bit.
Satu-satunya persyaratan adalah bahwa short int
<= int
<= long int
berdasarkan ukuran. Juga, ada rekomendasi yang int
harus mewakili kapasitas asli prosesor .
Semua tipe sudah ditandatangani. The unsigned
pengubah 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: byte
8 bit, short
16 bit, int
32 bit, long
64 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 char
adalah lebar 16 bit, tidak bertanda , dan menampung karakter menggunakan pengkodean UTF-16 (namun, dimungkinkan untuk menetapkan char
bilangan 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