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

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 4 Mayıs Ayı 2024
Anonim
Tip Döküm ve Tip Dönüşüm Arasındaki Fark - Teknoloji
Tip Döküm ve Tip Dönüşüm Arasındaki Fark - Teknoloji

İçerik


Tip dönüşümü ve tip dökümü, yani tip dönüşümü arasındaki temel fark, derleyici tarafından "otomatik olarak" yapılır, oysa tip dökümü programcı tarafından "açıkça yapılır".

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. Karşılaştırma tablosu yardımıyla hem tip döküm hem de dönüşüm farkını tartışalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

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.Tür dönüştürme, yalnızca iki veri türü uyumlu olduğunda uygulanabilir.
ŞebekeBir veri tipini bir başkasına dökmek için bir döküm işleci () gerekir.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 = a; // b = 3,000'deki değer.


Tip Döküm Tanımı

Tip döküm program tasarımı sırasında bir veri tipinin bir başka veri tipine, programcı tarafından döküm olarak tanımlanması. Bir veri türünün diğerine otomatik olarak dönüştürülmesi her zaman mümkün değildir. ‘Hedef tür’, type kaynak tür ’den küçük olabilir. Bu nedenle, programcı, döküm operatörünü ‘()’ kullanarak daha büyük veri türünü açıkça daha küçük veri türüne yayınlamalıdır. Daha büyük veri türü daha küçük veri türüne göre ayarlandığı için, 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.

Örnek

Bunu bir örnekle anlayalım. ‘İnt’ veri türünü ‘byte’a dönüştürmek istiyorsunuz. Şimdi, ‘byte’, int'den daha küçük olduğundan, tür dönüştürmeye izin verilmez. Burada, döküm operatörünü ‘()’ kullanarak ‘int’i‘ byte’a dönüştürmek zorunda kaldık. "İnt", "byte" den daha büyük olduğundan, "int" boyutu "int mod byte" aralığına indirgenir.


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

‘Kayan’, is int ’ye dönüştürüldüğünde flo int’ kesirli değeri saklamadığı için şamandıranın boyutu kesilir. Hedef türünün boyutu, kaynak türünün sığmayacağı kadar küçükse, kaynak türü modulo hedef türü "aralık" dır. Veri türleri uyumlu olduğunda döküm de uygulanabilir. Tip dönüştürmenin 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üşümü derleyici tarafından açıkça yapıldığında, gerektiğinde 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 "dönüşüm genişletme" denir, çünkü daha küçük bir tür daha büyük bir türe dönüştürüldüğünde, türün genişlemesi meydana gelir. Bu genişleme dönüşümü için, "int", "float" gibi sayısal türler birbirleriyle uyumluyken, char ve boolean veya char - boolean için sayısal değerler de uyumlu değildir.

Örnek

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

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

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

  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üşmesidir. Öte yandan, tür dönüşümü derleme yaparken derleyici tarafından yapılan bir türden diğerine dönüşümdür.
  2. Tip dökümü, birbiriyle uyumlu olmayan veri türlerine uygulanabilir. Bunun tersine, tür dönüştürme yalnızca birbiriyle uyumlu veri türlerine 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; bir tür veri türünün tür dönüşümünde 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. Buna karşı, hedef türünün tür dönüştürmedeki kaynak türünden daha büyük olması gerekir.
  5. Tip dökümünde kodlama yapılırken bir tipin diğer tipe dönüşümü yapılır. Buna karşılık, tür dönüştürmede, bir türün diğerine dönüştürülmesi derleme sırasında açıkça yapılır.
  6. Tip dökümüne daraltma dönüşümü denir, çünkü burada hedef tür kaynak türünden daha küçük olabilir. Aksine, tür dönüşümü genişleme dönüşümü olarak adlandırılır, çü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, ancak tip dökümünün programcı tarafından cast operator () 'kullanılarak ve tip dönüşümünün derleyici tarafından yapıldığı anlamında farklı olduğu sonucuna varılabilir. ve herhangi bir operatör kullanmaz.