亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言基礎(chǔ)隱式類型轉(zhuǎn)換與強制類型轉(zhuǎn)換示例解析

 更新時間:2021年11月18日 16:41:02   作者:RookieStriver  
最接地氣的有關(guān)類型轉(zhuǎn)換的介紹,此處對于類型轉(zhuǎn)換的相關(guān)知識點做一些簡要的介紹,作者實屬初學(xué),難免文章中有內(nèi)容理解不到位或者有不當(dāng)之處,還請朋友們不吝指正,希望大家多多給予支持

類型轉(zhuǎn)換

數(shù)據(jù)有不同的類型,不同類型數(shù)據(jù)之間進行混合運算時必然涉及到類型的轉(zhuǎn)換問題。

轉(zhuǎn)換包括隱式類型轉(zhuǎn)換和強制類型轉(zhuǎn)換。

類型轉(zhuǎn)換的原則:占用內(nèi)存字節(jié)數(shù)少(值域小)的類型,向占用內(nèi)存字節(jié)數(shù)多(值域大)的類型轉(zhuǎn)換,以保證精度不降低。

在這里插入圖片描述

隱式類型轉(zhuǎn)換

隱式轉(zhuǎn)換也稱為自動轉(zhuǎn)換,遵循一定的規(guī)則,由編譯器自動完成。
C的整型算數(shù)運算總是至少以缺省整型類型的精度來進行,為了獲得這個精度,表達式中的字符和短整形操作數(shù)在使用之前都被轉(zhuǎn)換成普通整型,這種轉(zhuǎn)換為整型提升。

整型提升:通用CPU是難以直接實現(xiàn)兩個8比特位直接相加運算。所以表達式中各種長度可能小于int長度的整型值,都必須轉(zhuǎn)換為int或者unsigned int ,然后才能送入CPU去執(zhí)行運算。

代碼示例1:

int main()
{
	char a = 5, b = 126;
	//5:00000000 00000000 00000000 00000101
	//a:0000 0101(截斷操作)
	//126:00000000 00000000 00000000 01111110
	//b:0111 1110
	//當(dāng)a和b相加時,都是char類型,就會發(fā)生整型提升
	//int c = 000000000000000000000000 00000101 + 000000000000000000000000 01111110
	//char c = 10000011(整型截斷)
	//以%d 打印,再次在內(nèi)存中整型提升,再打印原碼
	//int c = 11111111111111111111111110000011(補碼)
	//打印原碼:10000000000000000000000011111101
	char c = a + b;
	printf("%d\n", c);
	return 0;
}

在這里插入圖片描述

如何整型提升:按照變量的數(shù)據(jù)類型的符號位來提升。

代碼示例2:

//負數(shù)的整型提升
char s1 = -1;
變量s1的二進制補碼中只有8個比特位 11111111
因為char是有符號的,所以在整型提升的時候,高位補充符號位
即:11111111 11111111 11111111 11111111
//正數(shù)的整型提升
char s2 = 1;
變量s2的二進制補碼中只有8個比特位 00000001
因為char是有符號的,所以在整型提升的時候,高位補充符號位
即:00000000 00000000 00000000 00000001

無符號數(shù)的整型提升,高位直接補0;

代碼示例3:

隱式轉(zhuǎn)換

int main()
{
	int num = 5;
	printf("s1=%d\n", num / 2);
	printf("s2=%lf\n", num / 2.0);
	return 0;
}
s1=2
s2=2.500000
請按任意鍵繼續(xù). . .

強制類型轉(zhuǎn)換

強制類型轉(zhuǎn)換指的是使用強制類型轉(zhuǎn)換運算符,將一個變量或表達式轉(zhuǎn)化成所需的類型

代碼示例1:

#include <stdio.h>
int main()
{
	float x = 0;
	int i = 0;
	x = 3.6f;
	i = x;			//x為實型, i為整型,直接賦值會有警告
	i = (int)x;		//使用強制類型轉(zhuǎn)換
	printf("x=%f, i=%d\n", x, i);
	return 0;

OK!!!觀眾老爺們,這里只是介紹了有關(guān)類型轉(zhuǎn)換的入門知識,如果朋友們覺得有一點點作用的話,希望朋友們能夠給予小菜鳥一點支持!后續(xù)繼續(xù)給朋友們帶來更好的博文,還希望朋友們能夠繼續(xù)關(guān)注,小菜鳥致力于把自己的學(xué)習(xí)經(jīng)驗與個人理解更多的分享給大家,望大家喜歡與指正,請大家以后多多支持腳本之家!

相關(guān)文章

  • c++讀取和寫入TXT文件的整理方法

    c++讀取和寫入TXT文件的整理方法

    今天小編就為大家分享一篇c++讀取和寫入TXT文件的整理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • C++異常處理 try,catch,throw,finally的用法

    C++異常處理 try,catch,throw,finally的用法

    這篇文章主要介紹了C++異常處理 try,catch,throw,finally的用法,需要的朋友可以參考下
    2018-01-01
  • 詳解設(shè)計模式中的Command命令模式及相關(guān)C++實現(xiàn)

    詳解設(shè)計模式中的Command命令模式及相關(guān)C++實現(xiàn)

    這篇文章主要介紹了詳解設(shè)計模式中的Command命令模式及相關(guān)C++實現(xiàn),命令模式強調(diào)調(diào)用操作的對象和操作的具體實現(xiàn)者之間的解耦,需要的朋友可以參考下
    2016-03-03
  • C語言編程數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)詳解小白篇

    C語言編程數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)詳解小白篇

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ),非常適合初學(xué)數(shù)據(jù)結(jié)構(gòu)的小白,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進步,早日升職加薪
    2021-09-09
  • C++中const用于函數(shù)重載的示例代碼

    C++中const用于函數(shù)重載的示例代碼

    這篇文章主要介紹了C++中const用于函數(shù)重載的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • 如何使用C語言實現(xiàn)細菌的繁殖與擴散

    如何使用C語言實現(xiàn)細菌的繁殖與擴散

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)細菌的繁殖與擴散,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言深入講解內(nèi)存操作問題

    C語言深入講解內(nèi)存操作問題

    程序運行的目的是為了得到特定的結(jié)果,計算機本質(zhì)上是用于計算的,既然是用于計算,就需要參與計算的數(shù)據(jù),那這些數(shù)據(jù)就存儲在內(nèi)存中,計算之前參與運算的數(shù)據(jù)以及運算之后得到的數(shù)據(jù),都存儲在內(nèi)存中,所以對內(nèi)存操作的掌握就尤為重要,下面我們一起來看看
    2022-04-04
  • 淺談c語言中類型隱性轉(zhuǎn)換的坑

    淺談c語言中類型隱性轉(zhuǎn)換的坑

    下面小編就為大家?guī)硪黄獪\談c語言中類型隱性轉(zhuǎn)換的坑。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • c++實現(xiàn)strcat字符串連接庫函數(shù)的方法詳解

    c++實現(xiàn)strcat字符串連接庫函數(shù)的方法詳解

    本篇文章是對使用c++實現(xiàn)strcat字符串連接庫函數(shù)的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • c++實現(xiàn)md5加密的代碼

    c++實現(xiàn)md5加密的代碼

    這篇文章主要介紹了c++實現(xiàn)md5加密的實例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論