Tavsiye, 2024

Editörün Seçimi

Tip Döküm ve Tip Dönüşüm Arasındaki Fark

Bir veri türünü diğerine dönüştürmeye ihtiyaç duyulduğunda, “terim türü” ve “tür dönüştürme” iki terimi ortaya çıkar. İki tür birbiriyle uyumlu olduğunda, bir türün diğerine dönüştürülmesi derleyici tarafından otomatik olarak yapılır. Bununla birlikte, tip dönüşümü ve tip dökümü arasında temel bir fark vardır, yani tip dönüşümü derleyici tarafından "otomatik olarak" yapılır, oysa tip dökümü programcı tarafından "açıkça yapılır". Karşılaştırma çizelgesi yardımıyla hem döküm hem de dönüşüm farkını tartışalım.

Karşılaştırma Tablosu:

Karşılaştırma için temelTürü DökümTürü Dönüştürme
anlamBir veri tipi kullanıcı tarafından bir döküm operatörü kullanılarak bir başkasına atanır ve daha sonra "Tip Döküm" olarak adlandırılır.Derleyici tarafından bir veri türünün diğerine otomatik olarak dönüştürülmesi "Tür Dönüştürme" olarak adlandırılır.
UygulamalıTip döküm, iki 'uyumsuz' veri türüne de uygulanabilir.Tip dönüşümü sadece iki veri tipi 'uyumlu' olduğunda uygulanabilir.
ŞebekeBir veri tipini bir başkasına dökmek için bir döküm operatörü '()' gereklidir.Operatör gerekli değil.
Veri Türlerinin BoyutuHedef tipi, kaynak türünden daha küçük olabilir.Burada, hedef tipi kaynak türünden daha büyük olmalıdır.
UygulananProgram tasarımı sırasında yapılır.Derleme yapılırken açıkça yapılır.
Dönüşüm türü
Daraltma dönüşümü.Dönüşümün genişletilmesi.
Örnekint a;
bayt b;
...
...
b = (bayt) a;
int a = 3;
şamandıra b;
b =; // b = 3, 000'deki değer.

Tip Döküm Tanımı

Tip döküm, program tasarımı sırasında, programcı tarafından bir veri tipinin başka bir veri tipine dökümü olarak tanımlanabilir. Bir veri türünün diğerine otomatik olarak dönüştürülmesi, her zaman mümkün değildir. 'Hedef tipinin' 'kaynak tipinden' daha küçük olması şartı olabilir; bu nedenle, programcı, döküm operatörünü '()' kullanarak açıkça daha büyük veri tipini daha küçük veri tipine yönlendirmelidir. Daha büyük veri türü daha küçük veri türüne göre modüle edildiğinden, buna "daraltma dönüşümü" de denir.

Beyan:

 destination_type = (target_type) değişken / değer // hedef türü, kaynak türünü dönüştürmek istediğiniz türdür, her zaman hedef türdür. 

Bunu bir örnekle anlayalım. 'İnt' veri türünü 'byte' haline dönüştürmek istiyorsunuz, şimdi, 'byte' 'int'den daha küçük olduğundan, tür dönüştürmeye izin verilmez. Burada, 'int' işlevini döküm işleci '()' kullanarak dolaylı olarak 'bayt' haline getirmek zorunda kaldık. 'İnt', 'byte' değerinden daha büyük olduğundan, 'int' boyutu “int mod byte” aralığına indirgenir.

 int a; bayt b; ... ... b = (bayt) a; 

'Float' 'int' ye dönüştürüldüğünde, 'int' kesirli değeri saklamadığı için float boyutu kesiliyor. Hedef türün boyutu, kaynak türünün sığmayacağı kadar küçükse, kaynak türü modulo hedef türü 'aralık' olur. Döküm, veri tipleri uyumlu olduğunda da uygulanabilir, tip dönüşümünün gerekli olduğu yerlerde tip dökümünü kullanmak iyi bir uygulamadır.

Tür Dönüşümünün Tanımı

Tür dönüştürme, gerektiğinde derleyici tarafından açıkça yapıldığında bir veri türünün diğerine otomatik olarak dönüştürülmesidir. Ancak tür dönüştürmeden önce yerine getirilmesi gereken iki koşul vardır.

  • Kaynak ve hedef tipi uyumlu olmalıdır.
  • Hedef tipi, kaynak türünden daha büyük olmalıdır.

Bu iki koşul, tür dönüştürmeyi sağlamak için yeterli olmalıdır ve bu tür dönüştürmeye, daha küçük bir tür daha büyük bir türe dönüştürüldüğü için, tür genişletme gerçekleştiği için 'genişleme dönüşümü' olarak adlandırılır. Bu genişleme dönüşümü için 'int', 'float' gibi sayısal türler birbirleriyle uyumluyken, char ve boolean için sayısal veya char to boolean için de uyumlu değildir.

Bu örnek, daha iyi bir görüş sağlayacaktır

 int a = 3; şamandıra b; b =; // b = 3, 000'deki değer. 

Burada, 'int', 'int' değerinden daha büyük olan 'float' değerine dönüştürülür, bu nedenle kaynak türünün genişlemesi meydana gelir. Burada, derleyici açıkça yapacağı için, hiçbir döküm operatörü gerekmez.

Tip Döküm ve Dönüşüm Arasındaki Temel Farklılıklar

  1. Tip dökümünü tip dönüşümünden ayıran temel fark, tip dökümünün programcı tarafından yapılan bir tipin diğerine dönüşüm olmasıdır. Öte yandan, tür dönüşümü derleme sırasında derleyici tarafından yapılan bir türden diğerine dönüşümdür.
  2. Tip dökümü, birbiriyle uyumlu olmayan veri tiplerine uygulanabilir, ancak tip dönüşümü yalnızca birbiriyle uyumlu olan veri tiplerine uygulanabilir.
  3. Tip dökümünde bir türün diğerine dönüştürülmesi, döküm operatörünün “()” olmasını gerektirir, tür dönüşümünde bir veri türünün diğerine dönüştürülmesi için herhangi bir operatör gerekmez.
  4. Tip dökümünde bir veri türünü diğerine dönüştürürken, hedef tür kaynak türden daha büyük veya daha küçük olabilir. Diğer taraftan, hedef türünün tür dönüştürmedeki kaynak türden daha büyük olması gerekir.
  5. Tip dökümünde kodlama yapılırken bir türün başka bir türe dönüşmesi yapılırken, tür dönüşümünde bir türün diğerine dönüşümü derleme sırasında açıkça yapılır.
  6. Tür dökümüne daraltma dönüşümü denir, çünkü burada hedef tür kaynak türünden daha küçük olabilir, oysa tür dönüşümüne genişleme dönüşüm denir, çünkü burada tür türünün kaynak türünden daha büyük olması gerekir.

Sonuç:

Tip dönüşümü ve tip dökümünün hem bir veri tipini diğerine dönüştürme görevini yerine getirdiği, hem de tip dökümünün programcı tarafından cast operatörü '()' kullanılarak ve tip dönüşümünün '' operatörü '' kullanılarak yapıldığı anlamında farklı olduğu sonucuna varılabilir. derleyici ve herhangi bir operatör kullanmıyor.

Top