Tip Döküm ve Tip Dönüşüm Arasındaki Fark
İç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.
- Karşılaştırma Tablosu
- Tanım
- Anahtar Farklılıklar
- Sonuç
Karşılaştırma Tablosu:
Karşılaştırma için temel | Türü Döküm | Türü Dönüştürme |
---|---|---|
anlam | Bir 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. |
Şebeke | Bir 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 Boyutu | Hedef tipi, kaynak türünden daha küçük olabilir. | Burada hedef tipi kaynak türünden daha büyük olmalıdır. |
Uygulanan | Program 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. |
Örnek | int 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.