zoukankan      html  css  js  c++  java
  • henson.midp.Float浮点类介绍 (您是本帖的第81访问者!)

    henson.midp.Float浮点类介绍 (您是本帖的第81访问者!)

    看此文前,你可以首先参考一下《J2ME中定点库MathFP使用入门》一文。MathFP是一个定点的浮点模拟工具,这套类库没有封装细节,而是把一系列的转换操作留给了用户,这些频繁的操作非常容易出错,但是效率上占一定的优势。考虑到极少有J2ME设备设有浮点运算单元,特别是在CLDC1.0设备上不适合使用沉重的浮点运算。所以如果你的应用需要进行沉重的浮点运算,比如基于浮点的游戏,可以采用MathFP。这样至少比你采用手动的乘除法来的优雅。而对于并非沉重的浮点计算,我推荐大家使用由_Nikolay Klimchuk_ 开发的henson.midp.Float库(ver 1.01) ,一个封装良好的Float类。无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    henson.midp.Float类简介
    无线论坛[http://www.j2me.com.cn/bbs] 
    首先到
    http://henson.newmail.ru/j2me/Float.java下载源代码。无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    henson.midp.Float类非常适合科学计算,他的范围很大,具有64位的尾数(mantissa),64位的指数。该Float类和J2SE标准的Float类十分的相似,提供了完备的方法,参考下表:
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    非静态成员 非静态成员 常量
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float()
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float(long value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float(long value, long e)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float(Float value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    String toString()
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Add(Float value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Sub(Float value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Mul(long value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Mul(Float value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Div(long value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Div(Float value)
    无线论坛[http://www.j2me.com.cn/bbs] 
    boolean Great(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    boolean Less(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    boolean Equal(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Neg()
    无线论坛[http://www.j2me.com.cn/bbs] 
    long toLong()
    无线论坛[http://www.j2me.com.cn/bbs] 
    boolean isError() Float sin(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float cos(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float sqrt(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float tan(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float asin(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float acos(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float atan(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float atan2(Float x, Float y)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float parse(String str, int radix)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float exp(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float log(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float log10(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float pow(Float x, Float y)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float ceil(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float floor(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float abs(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Int(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float Frac(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float toRadians(Float x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float toDegrees(Float x) Float ERROR
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float ZERO
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float ONE
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PI - pi
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float E - Euler's constant
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float LOG10 - Natural logarithm of 10
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float LOGdiv2 - Natural logarithm of 0.5
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PIdiv2 - pi/2
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PIdiv4 - pi/4
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PIdiv6 - pi/6
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PIdiv12 - pi/12
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PImul2 - pi*2
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float PImul4 - pi*4
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float的使用和大多数提供源代码的第三方库一样,只要直接将其加入到你的工程中来就可以了。
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    Float类的license很特别,根据作者的要求,需要你做到以下几点:
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    一个含有此Float类的你的产品的copy和以及对应的license
    无线论坛[http://www.j2me.com.cn/bbs] 
    在about菜单中增加“henson.midp.Float (C) by Nikolay Klimchuk ”版权提示
    无线论坛[http://www.j2me.com.cn/bbs] 
    如果有官方网站,则网站应该提供到
    http://henson.newmail.ru的链接 无线论坛[http://www.j2me.com.cn/bbs] 
    测试数据
    无线论坛[http://www.j2me.com.cn/bbs] 
    也许你最关心这个模拟类的速度。以下是官方的测试数据供你参考。
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    测试程序下载地址:
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    http://henson.newmail.ru/j2me/FloatTest.jad 无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    机型 sin, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    100次 cos, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    100 次 tan, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    100 次 add, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    10000 次 mul, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    10000 次 div, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    10000 次 sqrt, ms
    无线论坛[http://www.j2me.com.cn/bbs] 
    1000 次
    无线论坛[http://www.j2me.com.cn/bbs] 
    移动电话
    无线论坛[http://www.j2me.com.cn/bbs] 
    /-\ Nokia
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    N-Gage 1016 594 1641 1297 3438 6328 4219
    无线论坛[http://www.j2me.com.cn/bbs] 
    6310i 4370 2461 7089 5363 14673 24131 20402
    无线论坛[http://www.j2me.com.cn/bbs] 
    3510i 4202 2435 6837 5324 14550 22370 16678
    无线论坛[http://www.j2me.com.cn/bbs] 
    6100 4407 2534 7065 5410 14905 23794 16069
    无线论坛[http://www.j2me.com.cn/bbs] 
    6610 4381 2511 7158 5492 15056 23874 17318
    无线论坛[http://www.j2me.com.cn/bbs] 
    3650 1094 609 1766 1297 3484 7031 4641
    无线论坛[http://www.j2me.com.cn/bbs] 
    7650 765 453 1265 1031 2515 5328 *
    无线论坛[http://www.j2me.com.cn/bbs] 
    6600 328 157 500 188 547 3235 1328
    无线论坛[http://www.j2me.com.cn/bbs] 
    6220 6086 3623 10149 8325 22395 32238 23670
    无线论坛[http://www.j2me.com.cn/bbs] 
    7600 494 290 795 614 1578 2482 1622
    无线论坛[http://www.j2me.com.cn/bbs] 
    3100 6727 3967 10949 9054 24905 36291 26268
    无线论坛[http://www.j2me.com.cn/bbs] 
    6230 (3.14) 965 538 1654 1088 3212 5165 *
    无线论坛[http://www.j2me.com.cn/bbs] 
    6230 (4.28) 705 414 1197 857 2387 3669 2378
    无线论坛[http://www.j2me.com.cn/bbs] 
    6230i (3.23) 627 351 994 619 1747 3813 1830
    无线论坛[http://www.j2me.com.cn/bbs] 
    7250 4254 2431 7052 5466 14943 22483 14524
    无线论坛[http://www.j2me.com.cn/bbs] 
    7610 281 141 438 187 453 2719 1109
    无线论坛[http://www.j2me.com.cn/bbs] 
    6260 281 141 406 157 453 2766 1187
    无线论坛[http://www.j2me.com.cn/bbs] 
    6630 110 63 156 94 203 1094 500
    无线论坛[http://www.j2me.com.cn/bbs] 
    /-\ Siemens
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    S55 28899 16559 50899 36306 101370 200670 169181
    无线论坛[http://www.j2me.com.cn/bbs] 
    M55 30441 17025 53584 38420 105500 207800 *
    无线论坛[http://www.j2me.com.cn/bbs] 
    SX1 1110 672 1875 1563 3985 7141 4203
    无线论坛[http://www.j2me.com.cn/bbs] 
    CX65 844 258 342 327 443 1219 923
    无线论坛[http://www.j2me.com.cn/bbs] 
    S65 212 139 337 245 466 1191 798
    无线论坛[http://www.j2me.com.cn/bbs] 
    M75 (new) 267 153 309 240 420 1186 790
    无线论坛[http://www.j2me.com.cn/bbs] 
    /-\ SonyEricsson
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    K300i (new) 739 354 1094 646 1716 3041 2389
    无线论坛[http://www.j2me.com.cn/bbs] 
    K750i 654 319 980 521 1496 2848 1970
    无线论坛[http://www.j2me.com.cn/bbs] 
    Z1010 785 404 1231 886 2026 3289 2603
    无线论坛[http://www.j2me.com.cn/bbs] 
    K700i 712 370 1085 639 1687 3049 1864
    无线论坛[http://www.j2me.com.cn/bbs] 
    T610 20580 11575 33585 28100 71365 87740 76280
    无线论坛[http://www.j2me.com.cn/bbs] 
    T610 (R3C) 8780 5055 14515 11385 30440 42120 34595
    无线论坛[http://www.j2me.com.cn/bbs] 
    T610 (R6C) 9875 5575 16210 12235 33295 49410 37920
    无线论坛[http://www.j2me.com.cn/bbs] 
    P900 250 109 344 156 406 2203 1062
    无线论坛[http://www.j2me.com.cn/bbs] 
    P800 500 282 813 625 1563 3250 1750
    无线论坛[http://www.j2me.com.cn/bbs] 
    Thank you to Dmitry Gorilowsky for measurements
    无线论坛[http://www.j2me.com.cn/bbs] 
    PDA
    无线论坛[http://www.j2me.com.cn/bbs] 
    /-\ Sony
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    Clie N610 48830 24960 84770 35810 102100 445530 206440
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    辅助工具:FloatConv (1.1)
    无线论坛[http://www.j2me.com.cn/bbs] 
    _Nikolay Klimchuk_ 还开发了一些相关工具让该Float的使用变得更加的简单。FloatConv是一个数学转换器,它将数学算数表达式转换为midp1.0平台上使用henson.midp.Float的等价表达式。这样使得使用henson.midp.Float的成本大大降低了。这一工具是基于J2SE 。
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    该工具的下载地址是:
    http://www.unteh.com/download/FloatConv/FloatConvW.zip无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    对CLDC1.1的扩展
    无线论坛[http://www.j2me.com.cn/bbs] 
    henson.midp.Float11 是对CLDC1.1的扩展。提供了CLDC1.1相对比J2SE缺失的浮点操作:
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    Non-static members Static members Constants
    无线论坛[http://www.j2me.com.cn/bbs] 
    double asin(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double acos(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double atan(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double atan2(double y, double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double exp(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double log(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double log10(double x)
    无线论坛[http://www.j2me.com.cn/bbs] 
    double pow(double x, double y) double SQRT3 - Square root from 3
    无线论坛[http://www.j2me.com.cn/bbs] 
    double LOG10 - Natural logarithm of 10
    无线论坛[http://www.j2me.com.cn/bbs] 
    double LOGdiv2 - Natural logarithm of 0.5
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    下载地址:
    http://henson.newmail.ru/j2me/Float11.java无线论坛[http://www.j2me.com.cn/bbs] 
    henson.midp.Float11的license和henson.midp.Float是一样的。
    无线论坛[http://www.j2me.com.cn/bbs] 
    无线论坛[http://www.j2me.com.cn/bbs] 
    另外一套功能相似的基于CLDC1.0的LIB是Beartronics Java J2ME Libraries的fpmathlib,地址 :
    http://sourceforge.net/projects/bearlib/,感兴趣的朋友可以自行研究。
    Never giveup. Thanks the world.
  • 相关阅读:
    Python_FTP通讯软件
    Python_NAT
    Python_跟随目标主机IP变换
    Python_网络攻击之端口
    spring
    Java多线程总结之线程安全队列Queue
    队列
    路径
    事务的概念
    GBK,UTF-8,和ISO8859-1之间的编码与解码
  • 原文地址:https://www.cnblogs.com/cnsoft/p/417366.html
Copyright © 2011-2022 走看看