c語言函數(shù)知識點總結:類型轉換與轉換

c語言里怎么把float轉換為char型? 可以使用轉換,其一般形式為:(類型說明符) (表達式) 其功能是把表達式的運算結果轉換成類型說明符所表示的類型。例如: (f...
c語言里怎么把float轉換為char型?
可以使用轉換,其一般形式為:(類型說明符) (表達式) 其功能是把表達式的運算結果轉換成類型說明符所表示的類型。例如: (float) a 把a轉換為浮點型,(int)(x+y) 把x+y的結果轉換為整型。
在C語言的世界里,將浮點型轉換為整型有兩招:類型轉換和自動類型轉換。首先,轉換就像一把鑰匙,通過(類型說明符)(表達式)的形式,直接將浮點數(shù)的值轉變成所需的整型。比如,(double) a 就是將a轉換為雙精度浮點,(int)(x+y) 則將兩個數(shù)相加后的結果變?yōu)檎汀?/p>
我用的基本方法是union(聯(lián)合)代碼如下:union UFLOAT { float f; // 4個字節(jié)浮點型變量 byte by4[4]; // 字節(jié)數(shù)組,元素為4 } 由于用了union,上面定義的變量占用4字節(jié)的內(nèi)存,也就是說f和by4是共用這4字節(jié)內(nèi)存的。對浮點的轉化變得異常簡單。
對于整型,各個平臺有一些函數(shù)可以專門轉換,比如itoa等。不過更通用的做法是使用sprintf函數(shù)。聲明:int sprintf(char *dst, const char *format_string, ...);頭文件為stdio.h。
不知你想要實現(xiàn)何種程度的轉換,如果對數(shù)組元素逐個用類型轉換,其結果往往出乎我們預料,原因是浮點數(shù)所表示的范圍遠遠超過字符型。如果為了原樣訪問浮點數(shù)的格式,可用字符型指針訪問,獲得其在內(nèi)存中的存在形式,這在一些應用中是很實用的。
本文鏈接:http:///kaifa/876718.html
上一篇:sin、cos、cot、tan