c++中一个四字节的int型怎么转换为两个字节的呢 功能就像c#的Convert.ToInt16(x);

还有Convert::ToBoolean用c++怎么实现, 我实在是实现不了啊 请高手赐教。
我感觉是要位移 比如
int a = 12902930;
short b = (a>>16)&0xff;

假设4字节整型变量名为i
转成2字节有符号整型(short):(short)i
转成2字节无符号整型(unsignen short):(unsigned short)i
为了简化起见,以上皆使用c写法

Convert::ToBoolean应该无需实现,在c/c++中,所有整型在需要逻辑值的表达式中,同时具备逻辑值,若整型值为0,则对应逻辑值为false,否则,对应true,比如说
if (i)
{
// blah blah
}
这里的i不为零时,则条件成立,程序会运行到大括号内部,如果i为0,则条件不成立
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-23
用short就行了,不过程序会截断前8位,
(short)n
相似回答