c# - 为什么我不能将大值作为 Int32 传递?

标签 c# floating-point int32

我有一个号码:94,800,620,800

Float 是 4 字节数据类型。 Int32也是4字节数据类型。

float f = 94800620800; // ok
Int32 t = 94800620800; // error

请解释这个问题。为什么我在使用 Int32 时出错。为什么我可以将此数字用于 float 数据类型,因为它们都是 4 字节数据类型。谢谢。

最佳答案

因为您尝试分配的数字大于 largest possible value对于 Int32 类型的数字,恰好是 2,147,483,647。请注意,Single 的最大值为 3.402823 × 1038 .

关于c# - 为什么我不能将大值作为 Int32 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7359405/

相关文章:

c# - 奇怪的 SQL 错误 int 参数转换为 nvarchar

c# - 在 Criteria Query 中选择多个实体

c - 数组初始化: a value of type "char *" cannot be used to initialize an entity of type "float"

c# - 如何将datagridview列更改为int

c# - 遍历 LibGit2Sharp 中的差异变化

c++ - C++11 何时进行相对于运算符优先级的算术类型转换?

javascript - 将 4 个 8 位无符号整数打包为 32 位 float

c# - Int32.Parse()如何准确解析String?

c - 如何使用 atoi() 将类型转换为 Int32

.net - int 和 System::Int32 的区别