5

我正在准备一个非常棘手的 c# 考试,并且在这样做的时候突然出现了这个问题。我有以下代码:

 uint zzz = -12u;

-12u被识别为System.Uint32文字,但它只能存储在类型的变量中long。这是为什么 ?

4

2 回答 2

12

它正在做的是采用 unsigned int 12 并尝试将其转换为负值 (the -),这需要转换为可以处理负数的类型,因为 unsigned int 不能。

因为它是一个无符号整数,它可能有超出整数范围的值,所以需要转换为长整数。

于 2012-12-04T15:13:27.783 回答
0

因为u 用于 unsigned int
处理 -ve 符号将其转换为 Long 数据类型
-12u 是有符号 int 数据类型 & 用于将其存储为unsigned使用long数据类型的类型

于 2012-12-04T15:09:44.877 回答