logo

C'de kısa int nedir?

C programlama dilinde, kısa iç tamsayı değerleri depolamak için kullanılan bir veri türüdür. ile kullanılabilecek bir tür değiştiricidir. int veri türü normal int'den daha az bellek kullanarak daha küçük bir tamsayı değişkeni oluşturmak için.

kısa iç veri türü kaplar 2 bayt normal belleğin yarısı kadar olan bellek int veri türü aralığındaki tamsayı değerlerini temsil edebilir ve -32,768 ile 32.767 .

Short int'in sözdizimi

nbsp

Kısa bir int değişkeni bildirmenin sözdizimi aşağıdaki gibidir:

 short int variable_name; 

Örneğin, aşağıdaki kod bir değeri bildirir ve başlatır. kısa iç yaş adlı değişken:

 short int age = 25; 

Kısa int değişkenleri dikkatli kullanılmazlarsa hatalara yol açabilir. Bunun nedeni, daha küçük bir değer aralığına sahip olmalarıdır. int değişkenler ve kendi aralıklarının dışında bir değer atanırsa taşabilir. Bu nedenle short int değişkenine atanan değerlerin kendi aralığında olduğundan emin olmak önemlidir.

Ayrıca kısa anahtar kelime yerine kısa anahtar kelime de kullanılabilir. kısa iç Bu türden bir değişken bildirmek için. Bu nedenle aşağıdaki iki bildirim eşdeğerdir:

 short int variable_name; short variable_name; 

İle ilgili diğer bazı ek ayrıntılar 'kısa int' veri türü aşağıdaki gibidir:

    Boyut ve Değer Aralığı

Daha önce de belirtildiği gibi, kısa int 2 bayt normal int veri türünün yarısı kadar olan bellek. Kısa int'nin boyutu uygulama tarafından tanımlanır; bu, kullanılan platforma ve derleyiciye bağlı olarak değişebileceği anlamına gelir. Ancak her zaman normal bir int'den daha küçük olması garanti edilir.

Değer aralığı açısından kısa bir int, tamsayı değerlerini şu aralıkta saklayabilir: -32,768 ile 32.767 . Bu aralık kullanılarak belirlenebilir. SHRT_MIN Ve SHRT_MAX tanımlanan sabitler sınırlar.h başlık dosyası.

    'Kısa int' kullanımı

Kısa int veri türü genellikle bellek alanı söz konusu olduğunda veya değişkende saklanan değer aralığı kısa int aralığı içinde olduğunda kullanılır. Kısa int'nin kullanılabileceği durumlara bazı örnekler şunlardır:

  • Belleğin sınırlı olduğu gömülü sistemlerde.
  • Bellek kullanımının optimize edilmesi gereken büyük tamsayı dizileri oluştururken.
  • Değişkende saklanan değer aralığının bir aralık içinde olduğu bilindiğinde kısa iç bir kişinin yaşını depolamak gibi, genellikle aşmayan 100 yıl .
  • Tip Değiştiriciler

kısa int veri türü bir tür değiştiricidir; bu, yeni veri türleri oluşturmak için diğer veri türleriyle birlikte kullanılabileceği anlamına gelir. Örneğin, aşağıdakiler değişkenlerin geçerli bildirimleridir:

 short int x; short y; short int *ptr; short int arr[10]; 
    Örtülü Dönüşümler

Farklı veri türlerindeki değişkenler arasında aritmetik veya karşılaştırma işlemleri gerçekleştirirken C, işlemlerin doğru şekilde gerçekleştirilmesini sağlamak için örtülü dönüşümler gerçekleştirebilir. Kısa int değişkenleri kullanırken, bu dönüşümlerin farkında olmak önemlidir çünkü bunlar beklenmedik davranışlara neden olabilir. Örneğin aşağıdaki kodu göz önünde bulundurun:

 #include int main() { short int x = 300; short int y = 200; short int z = x + y; printf('%d
', z); return 0; } 

Çıktı:

 500 

Açıklama:

android'de youtube reklamları nasıl engellenir

Bu kodda, z ben değeri atanmıştır 500 eklemenin doğru sonucu olan X Ve Ve . Ancak eğer baskı beyanı şu şekilde değiştirildi printf('%hu ', z), çıktı olacak 244 dönüştürmenin sonucu olan 500 imzasız birine kısa iç . Bu olur çünkü %hu yazdırılan değerin imzasız bir kısa int olması gerektiğini belirten format belirtici kullanılır.

    Terfi ve Düşüş

C, farklı veri türlerindeki değişkenler arasında işlemler gerçekleştirirken, işlemlerin doğru şekilde yapılmasını sağlamak için yükseltme ve indirgeme işlemleri gerçekleştirebilir. Daha küçük bir veri türündeki bir değişken örtülü olarak daha büyük bir veri türündeki bir değişkene dönüştürüldüğünde bir yükselme meydana gelirken, daha büyük bir veri türündeki bir değişken örtülü olarak daha küçük bir veri türündeki bir değişkene dönüştürüldüğünde bir indirgeme meydana gelir. Kısa int değişkenleri kullanırken, aritmetik ve karşılaştırma işlemlerinin sonuçlarını etkileyebileceklerinden bu yükseltme ve indirgemelerin farkında olmak önemlidir.

    Varsayılan Başlatma

Eğer bir kısa int değişkeni başlatılmadan bildirilir, değeri tanımsızdır. Başka bir deyişle, negatif bir değer veya aralığın dışındaki bir değer de dahil olmak üzere herhangi bir değer içerebilir. kısa iç . Bu nedenle, değişkenler bildirildiğinde her zaman bilinen bir değere başlangıç ​​değeri atamak iyi bir uygulamadır.

    Döküm

Döküm bir değişkeni bir veri türünden diğerine dönüştürme işlemidir. Bir değişkeni bir değişkene dönüştürürken kısa iç değişkenin değeri aralığına sığacak şekilde kesilir kısa iç . Örneğin aşağıdaki kodu göz önünde bulundurun:

 int x = 500; short int y = (short int) x; 

Bu kodda değeri X dır-dir 500 , short int aralığının dışındadır. Ancak ne zaman X a'ya atılır kısa int, değer aralığına sığacak şekilde kesilir kısa iç , sonuçlanan Ve değeri atanıyor -12 . Bu nedenle, değişkenlerin dökümü yapılırken, elde edilen değerin, dökümü yapılan veri tipinin aralığı içerisinde olmasını sağlamak önemlidir.

    İmza

Varsayılan olarak, kısa iç bir imzalı veri türü yani hem pozitif hem de negatif değerleri temsil edebilir. Ancak beyan etmek de mümkündür. kısa iç imzasız bir veri türü olarak imzasız kısa int veya imzasız kısa anahtar kelime . İmzasız bir kısa int yalnızca negatif olmayan değerleri temsil edebilir, ancak aralığı iki katına çıkar 0 ile 65.535 .

uml diyagramı java
    Uyumluluk

O zamandan beri kısa iç daha küçük bir veri türüdür int kullanıldığında örtülü olarak int'ye yükseltilebilir. aritmetik veya int ile karşılaştırma işlemleri. Bu şu anlama geliyor: kısa iç her yerde kullanılabilir int Açık bir kadroya ihtiyaç duyulmadan bekleniyor.

    Taşınabilirlik

Bedeni kısa iç Kullanılan platforma ve derleyiciye bağlı olarak değişebilir. Kodun farklı platformlar arasında taşınabilirliğini sağlamak için aşağıdakilerin kullanılması önerilir: stdint.h başlık dosyası , belirli genişliklere ve işaretlere sahip sabit boyutlu tamsayı türlerini tanımlar. Örneğin, int16_t türü bir 16 bit işaretli tamsayı türü , şuna eşdeğerdir kısa iç çoğu platformda.

    Dizi İndeksleme

Bir dizi bildirirken kısa int değerleri dizinin her öğesine bir dizin kullanılarak erişilir. Dizin bir tamsayı değişmezi veya int türünde bir değişken olabilir. Bununla birlikte, dizin bir tür değişkeni ise kısa iç otomatik olarak bir seviyeye yükseltilecektir. int diziye erişmek için kullanılmadan önce. Örneğin:

 short int arr[10]; short int i = 5; short int val = arr[i]; // i is promoted to int before being used as an index 
    Bit Manipülasyonu

kısa iç gibi bit manipülasyon işlemleri için kullanılabilir. değişen Ve maskeleme . Bir vitesi değiştirirken kısa iç değer, sonuç kısa bir int değeridir. Ancak, gibi bitsel operatörleri kullanırken & ve |, kısa int değerleri, işlem gerçekleştirilmeden önce ilk olarak int'ye yükseltilir.

    Verim

Bazı durumlarda int yerine short int kullanmak, özellikle sınırlı belleğe veya işlem gücüne sahip platformlarda performansı artırabilir. Ancak bu, spesifik uygulamaya ve kullanılan donanıma bağlıdır ve duruma göre test edilmelidir.

    Sonek kullanarak başlatma

C dili, değişkenleri kısa bir int türüyle başlatmak için bir sonek sağlar. son ek 'S' veya 'S' Kısa bir int sabitini açıkça belirtmek için sabit bir değerle kullanılabilir. Örneğin:

 Short int x=10s;