日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c语言float转换为int_C语言的隐式类型转换和显示类型转换

發布時間:2024/7/19 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言float转换为int_C语言的隐式类型转换和显示类型转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言是一種強類型語言,當使用一種類型的對象代替另外一種類型的對象進行操作時,必須首先進行類型轉換。

類型轉換的方式,一般可分為隱式類型轉換和顯示類型轉換(也稱為強制類型轉換)。

1、隱式類型轉換

隱式類型轉換由編譯器自動進行,不需要程序員干預。

隱式類型轉換通常有兩種情況:賦值轉換和運算轉換。

賦值轉換:將一種類型的數據賦值給另外一種類型的變量時,發生隱式類型轉換。比如:

int x = 1.23; // 1.23是double類型,先隱式轉換為intfloat y = 66; // 66是int類型,先隱式轉換為float

數據類型的提示:

在對變量賦值時,若等號兩邊的數據類型不同,需要把右邊表達式的類型轉換為左邊變量的類型,這可能會導致數據失真(精度降低),所以隱式類型轉換不一定是安全的。

運算轉換:C語言中不同類型的數據需要轉換成同一類型,才可以進行計算。

字符型、整型、浮點型之間的變量通過隱式類型轉換,可以進行混合運算(不是所有數據類型之間都可以隱式轉換),轉換規則如下:

  • 轉換按數據長度增加的方向進行,以保證數據精度不降低。比如int類型和double類型相加時,int類型就會被隱式轉換為double類型,然后再進行運算;
  • 在條件判斷中,非布爾類型自動轉換為布爾類型。算術類型的值為0,則轉換為false;否則轉換為true;
  • 類型轉換不改變對象內存的值,當有符號類型轉換為無符號類型時,其值可能發生變化。比如:
#include using namespace std;int main(){ int x = -1; unsigned int y = x; cout << "x: " << x << ", y: " << y << endl; return 0;}

運行結果為:

x: -1, y: 4294967295

2、顯示類型轉換

隱式類型轉換是編譯器自動隱式進行的,需要在代碼中體現,而顯示類型轉換由程序員明確指定,C語言顯示類型轉換也稱為強制類型轉換。

C語言顯示類型比較簡單,格式如下:

type var = (type)(expression);

比如下面這段代碼:

#include using namespace std;int main(){ double x = (int)1.5 * 2.5; cout << "x: " << x << endl; double y = (int)(1.5 * 2.5); cout << "y: " << y << endl; return 0;}

運行結果為:

x: 2.5y: 3

其中,(int)1.5 * 2.5 是先對1.5進行強制類型轉換,再和2.5相乘;

而(int)(1.5 * 2.5)通過括號提高優先級,先進行1.5 * 2.5的運算,再進行強制類型轉換。

總結

以上是生活随笔為你收集整理的c语言float转换为int_C语言的隐式类型转换和显示类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。