matlab 数据混合运算,C++中混合运算的类型转换
1.混合運(yùn)算和隱式轉(zhuǎn)換
C++中允許相關(guān)的數(shù)據(jù)類型進(jìn)行混合運(yùn)算。
相關(guān)類型:盡管在程序中的數(shù)據(jù)類型不同,但邏輯上進(jìn)行這種運(yùn)算是合理的,比如2+5.0
相關(guān)類型在混合運(yùn)算時(shí)會(huì)自動(dòng)進(jìn)行隱式類型轉(zhuǎn)換,再計(jì)算。
2.算術(shù)轉(zhuǎn)換
轉(zhuǎn)換原則:
確保計(jì)算值的精度。轉(zhuǎn)換后盡可能不丟失有效數(shù)字。
比如:short,2字節(jié),能表示的數(shù)小;int,4字節(jié),能表示的數(shù)大;int 轉(zhuǎn)short,要丟掉2字節(jié)的信息,不可取;short轉(zhuǎn)int,增加存儲(chǔ)空間,但不丟失信息,可取。
轉(zhuǎn)換方式:
(1)字節(jié)少的向字節(jié)多的轉(zhuǎn)換
char,unsigned char,short,unsigned short,bool->int
cout<
(2)精度低的向精度高的轉(zhuǎn)換
int -> float -> double
cout<
(3)有符號(hào)向無符號(hào)轉(zhuǎn)換
int -> unsigned int
unsigned intui = 32768;
cout<
3.隱式轉(zhuǎn)換時(shí)機(jī)
(1)混合類型的表達(dá)式
intn = 2;
charc = ‘a(chǎn)’;
cout<
(2)賦值
向左值類型轉(zhuǎn)換
doublea = 8.12;
intk;
k = a;//a轉(zhuǎn)換為int,舍去小數(shù),k=8
(向低精度轉(zhuǎn)換 會(huì) 損失有效數(shù)字)
(3)在需要關(guān)系、邏輯表達(dá)式的地方
非0轉(zhuǎn)true;0轉(zhuǎn)false
4.顯示轉(zhuǎn)換
程序中明確標(biāo)記轉(zhuǎn)換的類型,就是顯示轉(zhuǎn)換,也就是強(qiáng)制類型轉(zhuǎn)換。
格式:() 或者 ()
舉例:
double a =128,b = 30;
int n = 3;
a = (double)n/2;//強(qiáng)制將轉(zhuǎn)a換為adouble
n = (int)(a/b);//強(qiáng)制將a/b的值轉(zhuǎn)為int
優(yōu)先級(jí):高于乘法和除法,和邏輯非、按位取反同級(jí)
結(jié)合順序:從右向左
總結(jié)
(1)相同類型的數(shù)據(jù)運(yùn)算,結(jié)果的類型不變
(2)不同類型的數(shù)據(jù)運(yùn)算,自動(dòng)向精度高的類型轉(zhuǎn)換
(3)賦值運(yùn)算,向左值類型轉(zhuǎn)換
(4)強(qiáng)制類型轉(zhuǎn)換 () 或者()
(5)精度高向精度低的類型轉(zhuǎn)換,會(huì)損失精度
(6)整型相除,結(jié)果為整型,小數(shù)會(huì)被舍去。
注:
(1)整型/整型 = 整型,3/2 = 1,而不是1.5
(2)double賦值給int,會(huì)舍去小數(shù)
(3)char和int相加,是字符的ASCII和整數(shù)相加
通過微信學(xué)習(xí)的知識(shí)只能是碎片化的知識(shí),作為新時(shí)代的我們希望能夠構(gòu)建自己的知識(shí)結(jié)構(gòu),使我們的知識(shí)體系化,系統(tǒng)化,以后在遇到碎片化的知識(shí),我們做的只是融合到自己的知識(shí)結(jié)構(gòu)中,故我們將推出“與LSGO一起學(xué)”系列課程,幫助大家來構(gòu)建知識(shí)框架,初步規(guī)劃有:“與LSGO一起學(xué)C++”;
“與LSGO一起學(xué)C#”;
“與LSGO一起學(xué)Matlab”;
“與LSGO一起學(xué)數(shù)據(jù)結(jié)構(gòu)”;
“與LSGO一起學(xué)設(shè)計(jì)模式”;
“與LSGO一起學(xué)可視化建模語言(UML)”;
“與LSGO一起學(xué)線性代數(shù)”;
“與LSGO一起學(xué)高等數(shù)學(xué)”
“與LSGO一起學(xué)概率論與數(shù)理統(tǒng)計(jì)”;
“與LSGO一起學(xué)抽象代數(shù);
“與LSGO一起學(xué)點(diǎn)集拓?fù)洹?/p>
“與LSGO一起學(xué)數(shù)字圖像處理”;
“與LSGO一起學(xué)智能計(jì)算”;
如果對(duì)這些內(nèi)容感興趣,可以一起來學(xué)習(xí)討論。
我們的官網(wǎng): www.lsgogroup.com
總結(jié)
以上是生活随笔為你收集整理的matlab 数据混合运算,C++中混合运算的类型转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把需要的字从TTF里面提取出来\字体
- 下一篇: C++设计模式之模板模式(templat