请问个有关问题!关于运算中的数据类型

请教个问题!关于运算中的数据类型
比如有如下代码:
int16 Sa1_InPort,Sa1_Sign;
(((UInt16)Sa1_InPort)* ((UInt16) Sa1_Sign)) >= C1 
强制转换成UInt16相乘后,得出的值是按32位int32类型和C1比较大小?还是按Uint32类型和C1比较大小?
------解决思路----------------------
转int, int装不下转unsigned int
------解决思路----------------------
测了一下,VC10,,转换类型没有转换其二进制值,也就是说类型转换其二进制值不变