Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C - Pengecoran Tipe

Mengubah satu tipe data menjadi tipe lain dikenal sebagai tipe casting atau, tipe-konversi. Misalnya, jika Anda ingin menyimpan nilai 'long' ke dalam bilangan bulat sederhana, maka Anda dapat mengetik cast 'long' ke 'int'. Anda dapat mengonversi nilai dari satu jenis ke jenis lainnya secara eksplisit menggunakan operator transmisi sebagai berikut

(type_name) expression

Perhatikan contoh berikut di mana operator cast menyebabkan pembagian satu variabel integer dengan yang lain dilakukan sebagai operasi floating-point −

Demo Langsung
#include <stdio.h>

main() {

   int sum = 17, count = 5;
   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Value of mean : 3.400000

Perlu dicatat di sini bahwa operator pemeran lebih diutamakan daripada pembagian, sehingga nilai jumlah pertama kali dikonversi menjadi tipe ganda dan akhirnya dibagi dengan hitungan yang menghasilkan nilai ganda.

Konversi tipe dapat implisit yang dilakukan oleh compiler secara otomatis, atau dapat ditentukan secara eksplisit melalui penggunaan operator cast . Ini dianggap sebagai praktik pemrograman yang baik untuk menggunakan operator pemeran kapan pun konversi jenis diperlukan.

Promosi Bilangan Bulat

Promosi bilangan bulat adalah proses dimana nilai tipe bilangan bulat "lebih kecil" dari int atau int yang tidak ditandatangani dikonversi menjadi int atau int yang tidak ditandatangani . Perhatikan contoh penambahan karakter dengan bilangan bulat

Demo Langsung
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Value of sum : 116

Di sini, nilai penjumlahan adalah 116 karena kompilator melakukan promosi bilangan bulat dan mengubah nilai 'c' ke ASCII sebelum melakukan operasi penjumlahan yang sebenarnya.

Konversi Aritmatika Biasa

Konversi aritmatika biasa secara implisit dilakukan untuk memberikan nilai-nilai mereka ke tipe umum. Kompiler pertama-tama melakukan promosi bilangan bulat; jika operan masih memiliki tipe yang berbeda, maka operan tersebut dikonversi ke tipe yang muncul paling tinggi dalam hierarki berikut −

Konversi aritmatika biasa tidak dilakukan untuk operator penugasan, atau untuk operator logika &&dan ||. Mari kita ambil contoh berikut untuk memahami konsep

Demo Langsung
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Value of sum : 116.000000

Di sini, mudah untuk memahami bahwa c pertama dikonversi ke integer, tetapi karena nilai akhirnya adalah dua kali lipat, konversi aritmatika biasa berlaku dan kompilator mengubah i dan c menjadi 'float' dan menambahkannya menghasilkan hasil 'float'.


Bahasa C

  1. Konversi Tipe C#
  2. Konversi Jenis Python dan Pengecoran Jenis
  3. Pengecoran Tipe Jawa
  4. Tipe Variabel C++
  5. C# - Tipe Data
  6. C# - Konversi Jenis
  7. C# - Nullables
  8. C# - Atribut
  9. Memahami die casting
  10. Panduan Pengecoran Presisi