看板java
标 题Re: 有关float....
发信站资讯传奇 (Mon Oct 16 00:12:18 2006)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!ccnews.thu!inf
【 在
[email protected] (kimi) 的大作中提到: 】
: 请问float不是用来宣告浮点型变数的吗?(大一)
: 为什麽我打
: float a=-2.2
: 结果就error
: 打
: float a=2
: 结果就对?
因为 Java 中的 浮点数 literal 都是 double
整数则是 int,因此 float a=2,这个 2 可以 implicitly casting 成 float
而第一个例子则必须要手动转型,或着这样宣告 float a=-2.2f;
: 还有...书上说float 用4 bytes去储存..可显示范围为:
: -3.40282347*e+48~-1.40239846*e-45
: Q1:为什麽范围是负的到负的?
: Q2:这是怎麽算的?(跟int的算法好像不同)
我想应该是 -3.40282347*e+48 ~ -1.40239846*e-45
和 1.40239846*e-45 ~ 3.40282347*e+48
至於怎麽算..如果了解 IEEE 754 的定义
应该就可以算得出来了
简单的说正数的最小值就是 mantissa 都设成 0,exponment 也设为最小
懂得原理的话最大值 or 负数的范围也都算得出来
--
NPDA - Non-deterministic PushDown Automata
(不确定是否推倒自动机)
DPDA - Deterministic PushDown Automata
(确定会推倒自动机)
得证: DPDA 效率比较高
※ 来源:‧资讯传奇 inf.csie.thu.edu.tw‧[FROM: 59-126-173-31.HINET-IP.hinet.n]