Cでのデータ型変換++

、C ++データ型の変換は、以下の状況で一般的です。

図1に示すように、演算式の演算の値が変数の別のタイプを割り当てる、C ++は中に変換します

2、異なる種類の表現に含まれている場合は、C ++がで変換されます

関数に渡される3、パラメータは、C ++がで変換されます

第二に、データ型変換の際にポイントが注意するとき:

1、大規模なデータ・タイプに小さいデータ型、問題はない、一般的にちょうどより多く占めるバイトの変換後に、しかし、あなたは小さなデータ型に大規模なデータ型にしたい、それがもたらすであろうデータの損失。

2、より小さな浮動小数点数に大きなフロート精度(有効ビット数)が減少し、値は、ターゲット・タイプの範囲を超える可能性が引き起こす、フロート兼ねに変換、この場合には、結果になりますそれは不明です。

3、小数部分が失われ、元の値が範囲のターゲット・タイプを超える可能性が引き起こす可能性タイプを、整数に浮動小数点数に変換するために、この場合には、結果は不確実であろう。

図4に示すように、動作はデータの2つのタイプを含む場合、一般的により小さなタイプは、より大きなタイプに変換されます。

第三に、キャスト:

1の形態において:

(型名)値(C言語表現)

B、値(型名)(C ++言葉遣い)

static_castを<型名>(値):C、static_castを<>の値は、他の数値データ型、フォーマット、1つのタイプから変換することができます。  

例えば:

1つの#include <iostreamの>
 2  INT メイン()
 3  {
 4      使って 名前空間STDを、
5      int型のウミスズメ、コウモリ、coots。
6      ウミスズメ= 19.99 + 11.99 7つの     
8      バット=(INT19.99 +(INT11.99 9      coots = INT19.99)+のINT11.99 )。
10      裁判所未満<< " ウミスズメ= " <<ウミスズメ<< "endl;
18 リターン0     
           ;
19 }

結果は以下の通りであります:

ウミスズメ= 31、バット= 30、coots = 30 
コードZis90 
はい、コードがある 90

IVの概要:

整数データ型をソートサイズ:BOOL、CHAR、signed char型、unsigned char型、短い、符号なしの短い、int型、unsigned int型、長い、長い符号なし、長い長い、符号なしの長いロング

ソートサイズのフロート:フロート、ダブル、ダブルロング

 

おすすめ

転載: www.cnblogs.com/1121518wo/p/11210591.html