C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での型変換


ここでは、C++に存在する型変換手法について説明します。型変換には主に2つのタイプがあります。暗黙的および明示的。

  • 暗黙の型変換

    これは、自動型変換とも呼ばれます。これは、ユーザーからの外部トリガーなしでコンパイラーによって実行されます。これは、1つの式に複数のデータ型が存在する場合に実行されます。

    すべてのデータ型は、大きな変数のデータ型にアップグレードされます。

bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

暗黙の変換では、一部の情報が失われる可能性があります。サインが失われる可能性があります。

#include <iostream>
using namespace std;
int main() {
   int a = 10;
   char b = 'a';
   a = b + a;
   float c = a + 1.0;
   cout << "a : " << a << "\nb : " << b << "\nc : " << c;
}

出力

a : 107
b : a
c : 108

明示的な型変換

これは型キャストとも呼ばれます。ここで、ユーザーは結果をタイプキャストして特定のデータ型にすることができます。 C ++では、これを2つの方法で行うことができます。括弧内の式を使用するか、static_castまたはdynamic_castを使用します

#include <iostream>
using namespace std;
int main() {
   double x = 1.574;
   int add = (int)x + 1;
   cout << "Add: " << add;
   float y = 3.5;
   int val = static_cast<int>(y);
   cout << "\nvalue: " << val;
}

出力

Add: 2
value: 3

  1. C++の対角トラバースII

    numsというリストのリストがあるとすると、numsのすべての要素を対角線順に表示する必要があります。 したがって、入力が次のような場合 その場合、出力は[1,6,2,8,7,3,9,4,12,10,5,13,​​11,14,15,16]になります。 これを解決するには、次の手順に従います- 配列retを定義する 1つの2Dアレイvを定義する 初期化i:=0の場合、i

  2. C++での8進数から10進数への変換のプログラム

    入力として8進数を指定すると、タスクは指定された8進数を10進数に変換することです。 コンピューターの10進数は10進数で表され、8進数は0から7までの8進数で表されますが、10進数は0から9までの任意の数字にすることができます。 8進数を10進数に変換するには、次の手順に従います- 余りから右から左に数字を抽出し、それを0から始まる累乗で乗算し、(桁数)–1まで1ずつ増やします。 8進数から2進数に変換する必要があるため、8進数の基数は8であるため、累乗の基数は8になります。 指定された入力の桁にベースとパワーを掛けて、結果を保存します 乗算されたすべての値を加算して、10進数になる