VEXcode Pro V5 での整数の変数の作成

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

整数を保持する型: char、short、int、long、long long

いくつかの例を見てみましょう。

文字 cvar = 50;
文字 cvar = 50;
ショート svar = 50;
int ivar = 50;
ロング lvar1 = 50;
ロング lvar2 = 50;

基本的な算術演算子:

ほとんどの人は、基本的な算術演算子と優先順位 ( + 、 - 、 * 、 / ) に精通しています。

単項演算子 ++ および -- の使用例をいくつか示します。

表現 同等 以下と同等
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

変数++と++変数に注意してください!

++変数

int x = 10、y = 20; 
X = ++y;

注: この操作の後: X = 21、Y も = 21。

変数++

int x = 10、y = 20; 
X = y++;

注: この操作後: X = 20、Y = 21。


整数データ型を比較する

正と負の値の両方を許可するグループまたはデータ型、つまり「符号付き」があります。 ただし、暗黙的に指定されるため、指定する必要はありません。 以下を参照してください:

データ型 最小値 最大値
チャー -2 7 または -128 2 7 - 1 または 127
短い -2 15 または -32,768 2 15 - 1 または 32,767
整数 -2 31 または -2,147,483,648 2 31 – 1 または 2,147,483,647
長さ -2 31 または -2,147,483,648 2 31 – 1 または 2,147,483,647
長い長い -2 63 または -9,223,372,036,854,775,808 2 63 – 1 または 9,223,372,036,854,775,807

正の値、つまり「符号なし」のみを許可するグループまたはデータ型があります。

データ型 最小値 最大値
符号なし文字 0 2 8 - 1 または 255
符号なしショート 0 2 16 - 1 または 65,535
符号なし整数 0 2 32 – 1 または 4,294,967,295
符号なしロング 0 2 32 – 1 または 4,294,967,295
符号なし 長い長い 0 2 64 – 1 または 18,446,744,073,709,551,615

データサイズはどのように確認しますか?

当面は、 sizeof( ) 演算子を知っておく必要があります。 これにより、「バイト」と呼ばれるメモリ記憶単位が提供されます。これについては、次のセクションで少し説明します。

演算子 sizeof()を使用してバイト数を入力する必要があることを示すサンプル。 ご自身で確認するためにこれを試してみてください。 別のコントローラーに変更した場合は、いつでも次の手順を実行して確認できます。

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char は %d バイトです", sizeof(char));
Brain.Screen.printAt(1, 50,"short は %d バイト", sizeof(short)); 
Brain.Screen.printAt(1, 80,"int は %d バイト", sizeof(int));
Brain.Screen.printAt(1, 110, "long は %d バイト", sizeof(long));
Brain.Screen.printAt(1, 140, "long long は %d バイトです", sizeof(long long));
Brain.Screen.printAt(1, 170, "float は %d バイトです", sizeof(float));
Brain.Screen.printAt(1, 200, "double は %d バイトです", sizeof(double));

V5 ロボット システムのプログラミング機能と機能を示す図。主要コンポーネントとその機能をわかりやすく整理されたレイアウトで強調表示します。


バイトとはどういう意味ですか?

「バイト」はデータストレージの標準単位です。

1 バイト = 8 ビット。 1 ビットは、1 と 0 (2 進値) の値のみを持つことができる最小のメモリ単位です。 ただし、システムから取得できるメモリの最小単位は 1 バイトです。したがって、1.5バイトなどを要求することはできません。

チャーを見てみましょう。 短いので簡単に表示できます。

V5 ロボット システムのプログラミング機能を示す図。主要なコンポーネントとその機能を強調表示しています。

すべて 1 で埋められると、28-1 になります。 この値は、「unsigned char」が保持すべき最大値である必要があります。

V5 ロボットのプログラミング機能を示す図。効果的なコーディングと制御のためのさまざまなセンサー、モーター、接続を紹介しています。

システムは、負の値を与えるために 最上位ビット を予約しています。 したがって、「char」の最大値は -128 ~ 127 の範囲になります。 ただし、データ範囲は異なりますが、容量は「unsigned char」と同じです。

コンピューターでは、2 の補数と呼ばれる演算が使用されます。 これはビットごとの操作のトピックの一部であり、このドキュメントの範囲外です。 このトピックの詳細については、別のドキュメントで説明します。


char と int の違いは何ですか?

「char」と「int」の一般的な使用法をいくつか示します。

char var1 = '9'; 
int var2 = 9;

「char」は「a」、「b」、または「9」などの記号のみを保持できるというのは、よくある誤解です。 それは間違いです。

実際、「char」型は「int」型と同じですが、char の容量が 1 バイトのみで、int の容量が 4 バイトである点が異なります。 したがって、両者ではデータサイズの範囲が異なります。 上記のデータ範囲表でそれがわかります。

次のコード セグメントでは、char と int をより明確に理解できます。

int iX = '0';
  文字 cX1 = 49;
  文字 cX2 = 50; 

  Brain.Screen.printAt(3, 20, "'%c' =  %d"の int 表現,iX, iX);
  Brain.Screen.printAt(3, 50, "'%c' =  %d"の int 表現,cX1, cX1);
  Brain.Screen.printAt(3, 80, "'%c' =  %d"の int 表現,cX2, cX2);
  Brain.Screen.printAt(3, 140, "つまり '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

出力:

'0' の int 表現 = 48
'1' の int 表現 = 49
'2' の int 表現 = 50

したがって、 '2' – '0' = 1

なぜ「0」が 48 を示すのか疑問に思うかもしれません。

これは、「ASCII コード」変換と呼ばれるトピックにつながります。 ASCII 標準は、1963 年に発行された IEEE の偉大なマイルストーンの 1 つです。 これはこの記事の範囲外です。 ASCII コード表をオンラインで検索することをお勧めします。 ASCII コード テーブルに関する情報はオンラインで大量に見つかります。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: