为什么〜(ushort)1返回一个int?

时间:2018-09-27 21:17:54

标签: c# bit-manipulation

为什么~(ushort)1返回值int的{​​{1}}?我认为-2值将是由于翻转的位而引起的,但其背后被隐式转换为int的原因是什么?

PS:我没有将其隐式转换为int。如果您写入控制台-2,则会打印出(~(ushort)1).GetType().ToString()

1 个答案:

答案 0 :(得分:2)

ushort缺少按位运算符,与the docs中的intuintlongulong不同。

这样,在应用按位求反之前,ushort被提升为int