int aa = (Int32)(((long)4294917296) << 32)>>32);int32赋值给int64,因为int64的表示范围更大,此时直接赋值,一定安全;int64赋值给int32,如果int64中的数据值不超过int32的表示范围,没问题,如果超出范围就会溢出,不能安全转换。就是int乘以int默认使用int做的,有可能不够长,所以强制转换。