正如标题所说,我不明白Java的原始数据类型long
的最大值和最小值怎么会小于float
的最大值和最小值。尽管long
是64位,float
是32位。
这是怎么回事?
原因是因为一个浮点使用浮点精度。Long可以存储高数量的精确数字,而I float可以存储高值,但其低位没有相同的精度。
在某种意义上,浮点以科学/指数表示法存储值。因此,大的值可以存储在少量的位中。假设是2x10^200,这是一个很大的数字,但可以存储在一个很小的位数中。
问题内容: 我有这个代码: 为什么几次打印后会变成负片?如果超出范围,是否不应该发生错误? 问题答案: 如果将数字增加到最大值之后,Java不会抛出错误。如果您希望具有此行为,则可以使用Java 8中的方法。如果传递,则该方法将引发。 Java不会引发异常并且您收到负数的原因与数字的存储方式有关。对于长原语,第一个字节用于指示数字的符号(0->正号,1->负号),其余字节用于数字值。这意味着最大的
问题内容: 我尝试创建映射,期望它会自动增长。如手册页中所指定: MAP_GROWSDOWN 该标志用于堆栈。它向内核虚拟内存系统指示该映射应在内存中向下扩展。返回地址比在进程的虚拟地址空间中实际创建的内存区域低一页。 触摸映射下方的“防护”页面中的地址,将导致 映射增加一页 。可以重复这种增长,直到该映射增长到下一个较低映射的高端的页面内为止,此时触摸“防护”页面将产生 信号。 因此,我编写了以
我已经编写了一个MySQL脚本,为假设的医院记录创建一个数据库,并用数据填充它。其中一个表Department有一个名为Description的列,该列声明为varchar(200)类型。对Description I执行INSERT命令时,出现错误: 错误1406:数据对于第1行的列“描述”来说太长。 我插入的所有字符串都小于150个字符。 以下是声明:< br > 下面是插入命令: 显然,这应该
我正在使用PARSE API发出GET请求。我收到一个“414请求URI太大”错误,但我不明白为什么。这是我请求的代码:
问题内容: 在我的应用程序中,我连接到服务器以对用户进行身份验证。这是代码: 我将连接超时设置为1000 ms = 1s,但是它被忽略了。当我调试并设置错误的用户名和密码时,我发现了 不是在1000毫秒之后,而是在5000 * 60毫秒之后= 5分钟 怎么了 ?如何减少超时时间? 问题答案: 我通过更改为最新版本的JavaMail(至JavaMail 1.5)解决了我的问题。我在这里写到:http
问题内容: 考虑下面的go代码: : 我不明白的是,为什么taste_fruits的容量为3,直觉上我希望为2,因为这是切片的长度? 而且,如果tasty_fruits的容量为3,那么为什么: 造成: 问题答案: 这行: 创建一个 数组 ,而不是一个切片。即使您仅提供了3个元素,它也有4个元素。输出: 切片: 结果是: 长度:明显2.容量? 的 容量 是…的片的长度和超过所述切片中的[基本]阵列的