例えば
int foo(short x);
short s = -1;
foo(s);
と同じですか
//int foo(short x); //Updated
int foo(signed x);
short s = -1;
foo((signed)s);//sign-extend and push to stack
それとも同じですか
//int foo(short x); //Updated
int foo(unsigned)
short s = -1;
foo((unsigned)(unsigned short)s);//zero-extend and push to stack
または、両方とも問題ありませんか (上位ビットはダーティとして扱います)。
特別なコンパイラでいくつかの実験を行うことができます.しかし、すべてが詳細に同じであるかどうかはわかりません.正式な約束が必要です.