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
-
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
-
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進数になる