unsigned char のサイズを大きくして、それより大きいサイズの整数にキャストできるようにする方法はありますか?
アップデート:
基本的に、ポート番号が unsigned char として定義されている既存のシステムを編集しています。これは、最大 255 までの番号しか必要としなかったためです。現在、任意のポート番号に増やす必要があるため、簡単な方法を見つけようとしています。参照などを変更する何百ものファイルを通過することなくサイズを大きくする..
C++ 標準は、char のサイズが 1 であることを示しています。
ただし、typedef を使用すると、サイズを簡単に変更できます。
typedef unsigned char data_type; // 1 byte
に
typedef unsigned short data_type; // 2 byte on some platforms
いいえ、組み込みタイプのサイズは変更できません。
ただし、最初にキャストunsigned char
しint
て後で変更できます。
unsigned char val = 25;
int int_val = val;
int_val = 1000;
質問の更新によると
唯一のオプションは、タイプを手動で変更することだと思います。ただし、変更する前に、 aを作成しtypedef
て使用します。
typedef int PortId
unsigned char
と置き換えますPortId