我相信这是一个非常简单的答案,但我无法弄清楚。 我已经呈现在UInt32
格式的价值,虽然它的最大将是65535 据reqiured将其转换为Int16
格式显示的目的,因此显示的范围为-32768至32767如何将0-65535转换为Int16等效值-32768-32767?
简单Convert.ToInt16(65535)
抛出一个例外,65535对于Int16
来说太大或太小。
是否有一个内置的函数来处理这个问题,或者有人能指出我的解决方案吗?
编辑:再次编辑后发表进一步讨论 - 65535不是范围转移它实际上是-32768,所以我想要做一个从UInt32 65535转换为Int16 -32768。 感谢您迄今为止的所有答案。
是否要更改类型而不更改字节? 'Int16'代表'65535',因此转换失败。如果你解释为什么你想要这个,我们可能会帮助更多。 – Jodrell 2013-03-01 08:57:43
显然65535对int16来说太大了。你想要输出什么? – 2013-03-01 08:59:20
您标记的答案与您的问题中的编辑不符。这使得这颇具误导性。请更改编辑或标记准确的答案。 – Jodrell 2013-03-01 10:40:52