激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - 詳解C語言基礎(chǔ)的類型轉(zhuǎn)換

詳解C語言基礎(chǔ)的類型轉(zhuǎn)換

2022-02-23 14:30RookieStriver C/C++

這篇文章主要為大家介紹了C語言基礎(chǔ)的類型轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

類型轉(zhuǎn)換

數(shù)據(jù)有不同的類型,不同類型數(shù)據(jù)之間進(jìn)行混合運(yùn)算時(shí)必然涉及到類型的轉(zhuǎn)換問題。轉(zhuǎn)換包括隱式類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。

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

詳解C語言基礎(chǔ)的類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換

隱式轉(zhuǎn)換也稱為自動(dòng)轉(zhuǎn)換,遵循一定的規(guī)則,由編譯器自動(dòng)完成。

C的整型算數(shù)運(yùn)算總是至少以缺省整型類型的精度來進(jìn)行,為了獲得這個(gè)精度,表達(dá)式中的字符和短整形操作數(shù)在使用之前都被轉(zhuǎn)換成普通整型,這種轉(zhuǎn)換為整型提升。

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

代碼示例1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    char a = 5, b = 126;
    //5:00000000 00000000 00000000 00000101
    //a:0000 0101(截?cái)嗖僮?
    //126:00000000 00000000 00000000 01111110
    //b:0111 1110
    //當(dāng)a和b相加時(shí),都是char類型,就會(huì)發(fā)生整型提升
    //int c = 000000000000000000000000 00000101 + 000000000000000000000000 01111110
    //char c = 10000011(整型截?cái)?
    //以%d 打印,再次在內(nèi)存中整型提升,再打印原碼
    //int c = 11111111111111111111111110000011(補(bǔ)碼)
    //打印原碼:10000000000000000000000011111101
    char c = a + b;
    printf("%d\n", c);
    return 0;
}

詳解C語言基礎(chǔ)的類型轉(zhuǎn)換

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

代碼示例2

?
1
2
3
4
5
6
7
8
9
10
//負(fù)數(shù)的整型提升
char s1 = -1;
變量s1的二進(jìn)制補(bǔ)碼中只有8個(gè)比特位 11111111
因?yàn)?/code>char是有符號(hào)的,所以在整型提升的時(shí)候,高位補(bǔ)充符號(hào)位
即:11111111 11111111 11111111 11111111
//正數(shù)的整型提升
char s2 = 1;
變量s2的二進(jìn)制補(bǔ)碼中只有8個(gè)比特位 00000001
因?yàn)?/code>char是有符號(hào)的,所以在整型提升的時(shí)候,高位補(bǔ)充符號(hào)位
即:00000000 00000000 00000000 00000001

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

代碼示例3:

隱式轉(zhuǎn)換

?
1
2
3
4
5
6
7
8
9
10
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
請(qǐng)按任意鍵繼續(xù). . .

強(qiáng)制類型轉(zhuǎn)換

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

代碼示例1:

?
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main()
{
    float x = 0;
    int i = 0;
    x = 3.6f;
    i = x;          //x為實(shí)型, i為整型,直接賦值會(huì)有警告
    i = (int)x;     //使用強(qiáng)制類型轉(zhuǎn)換
    printf("x=%f, i=%d\n", x, i);
    return 0;

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!

原文鏈接:https://blog.csdn.net/qq_43727529/article/details/121316906

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 黄色网址在线免费 | 久久精品视频69 | 久草在线网址 | 欧美黄 片免费观看 | 手机av免费电影 | 久久成人精品视频 | 欧美www | 99成人精品视频 | 欧美日韩经典在线 | 国产乱色精品成人免费视频 | 情侣啪啪网站 | 免费看黄色三级毛片 | 国产成年人视频 | 久久久久亚洲国产精品 | 中文字幕免费播放 | 国产成人在线看 | 国产午夜精品久久久久婷 | 久草资源在线观看 | 久久国产精品久久久久 | 久久99精品久久久久久久久久久久 | 成人免费一区二区三区视频网站 | 国产成年人网站 | 精品亚洲午夜久久久久91 | 中文字幕亚洲一区二区三区 | 久久久午夜电影 | 黄视频网站免费观看 | 国产精品一区二区三区在线看 | 欧美成人一二三区 | 欧美成人三级视频 | 激情在线观看视频 | 久久精品一二三区白丝高潮 | 激情久久免费视频 | 国产精品久久久久久久久久久久久久久 | 国产一区二区精品91 | 特级毛片免费视频 | 欧美一级做a | 欧美一级视频在线观看 | av免费在线播放 | 99精品视频在线观看免费播放 | 福利在线免费视频 | 国产亚洲精品久久午夜玫瑰园 |