วันศุกร์ที่ 27 กุมภาพันธ์ พ.ศ. 2558

การแปลงชนิดของข้อมูล

การแปลงชนิดของข้อมูล
              การเปลี่ยนชนิดของข้อมูล ทำได้หลายวิธีขึ้นกับชนิดของข้อมูล วิธีการที่จะกล่าวถึง คือ กำหนดชนิดหน้าข้อมูล มีรูปแบบคือ
                               ตัวแปร   =  (ชนิดข้อมูล) นิพจน์;
ตัวอย่างที่  
#include <stdio.h>
main()
{
      int a,b;
      a =  2.7 + 3.9 ;    /* บวกก่อน ได้ 6.5 แต่เนื่องจาก a เป็น int จึงตัดทศนิยมทิ้งได้ a เป็น 6  */
      printf("\n\ta = %d ",a);
      b = (int) 2.7 + (int) 3.9 ;  /* เปลี่ยน 2.7 เป็น int ได้ 2 และเปลี่ยน 3.9 เป็น int ได้ 3 บวกกันได้ 5  */
      printf("\n\tb = %d ",b);
      int num1 =5 , num2 =4;
      float x,y;
      x = num1/num2;         /* ผลหารได้ 1.25 แต่ทั้ง num1 และ num2 เป็น int จึงตัดเศษทิ้ง แล้วจึงกำหนดค่าให้ x จึงมีค่าเป็น 1 แต่ x เป็น float จึงมีทศนิยม  */
      printf("\n\tx = %f",x);      /* พิมพ์ x เป็นแบบ %f ถ้าไม่ระบุตำแหน่งจะให้ 6 ตำแหน่งจึงเป็น 1.000000 */
      y = (float)num1/num2;    /* เปลี่ยน num1 เป็น float ก่อน แล้วจึงหาร จึงได้ผลลัพธ์เป็น 1.25  */
      printf("\n\ty = %f",y);    /* พิมพ์แบบ float จึงได้ผลลัพธ์เป็น 1.250000
      getch();
}
ผลการทำงานของโปรแกรมได้เป็น
a  =  6
b  =  5
x  =  1.000000
y  =   1.250000

                กรณีที่นิพจน์นั้นประกอบด้วยข้อมูลหลายชนิด จะมีการเปลี่ยนเป็นข้อมูลชนิดเดียวกันก่อน จึงดำเนินการอื่นต่อ โดยการเปลี่ยนจะเปลี่ยนจากข้อมูลที่เล็กกว่าเป็นข้อมูลชนิดที่ใหญ่กว่า เช่นข้อมูลชนิด int มีการดำเนินการกับข้อมูลชนิด float จะมีการเปลี่ยนข้อมูลชนิด int เป็น float ก่อน จึงดำเนินการอื่นต่อไป

ไม่มีความคิดเห็น:

แสดงความคิดเห็น