Latest web development tutorials

gips C

Gips variabel dikonversi dari satu jenis ke jenis data yang lain. Misalnya, jika Anda ingin menyimpan nilai dari tipe lama untuk integer sederhana, Anda perlu mengetik panjang cast ke tipe int. Anda dapat menggunakanoperator cor untuk secara eksplisit menempatkan nilai-nilai dari satu jenis ke jenis lain, sebagai berikut:

(type_name) expression

Perhatikan contoh berikut, penggunaan operator konversi wajib untuk variabel integer oleh variabel integer lain, mendapatkan pelampung:

#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 dijalankan, menghasilkan hasil sebagai berikut:

Value of mean : 3.400000

Untuk dicatat di sini adalah operator cor lebih diutamakan daripada divisi, sehingga nilaisum yang pertama dikonversi ke ganda,kemudian membagi menghitung, mendapatkan nilai tipe ganda.

konversi tipe dapat implisit, dilakukan secara otomatis oleh compiler, dapat eksplisit, yang ditentukan dengan menggunakanoperator cor.Dalam pemrograman, ada kebutuhan untuk menghabiskan waktu Operator jenis konversi cor, adalah praktek pemrograman yang baik.

promosi Integral

Mengacu promosi terpisahkan kurang dariint atau unsignedtipe integerintdikonversi keintatau prosesint unsigned.Perhatikan contoh berikut, tambahkan karakter dalam int:

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   int sum;

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

}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Value of sum : 116

Di sini, jumlah nilai 116, karena compiler telah promosi terpisahkan ketika melakukan operasi penambahan aktual, nilai 'c' dikonversi ke nilai ascii yang sesuai.

konversi aritmatika biasa

konversi aritmatika biasa secara implisit dilemparkan nilai dari jenis yang sama.compiler pertama melakukanbilangan bulat mengangkat, jika operan dari berbagai jenis, mereka akan dikonversi ke hirarki berikut muncul tingkat tertinggi Jenis:

Biasa Konversi Aritmatika

konversi aritmatika biasa tidak berlaku untuk operator penugasan, operator logika && dan ||. Mari kita lihat contoh berikut untuk memahami konsep ini:

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   float sum;

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

}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Value of sum : 116.000000

Di sini, c pertama dikonversi ke integer, namun karena nilai terakhir adalah ganda jenis, sehingga konversi aritmatika biasa diterapkan, compiler akan i dan c diubah untuk mengapung, dan menempatkan mereka bersama-sama untuk mendapatkan angka floating-point .