小编jon*_*onc的帖子

如何将浮点数转换为非标准编码

我正在编写一个创建ICC颜色格式的程序.这些格式指定一个名为s15Fixed16Number的数据类型,它具有符号位,15个整数位和16个小数位.IEEE 754 32位浮点数具有符号位,8个指数位和23个小数位.

我需要从文本框中获取输入,并将它们转换为s15Fixed16Number.有些搜索在Google图书上显示了这一点,但这是在谈论将十进制数转换为s15Fixed16Number.我想我可以使用链接中解释的方法,但我还没有做任何测试来确定它的准确性.我想我也可以尝试转换文本框中的字符输入,但我还没有想过那么多.

我正在使用Cocoa,但我认为这不重要; 任何C函数都应该有效.以下是s15Fixed16Number格式的一些示例值:

              -32768.0 = 0x80000000
                     0 = 0x00000000
                   1.0 = 0x00010000
 32767 + (65535/65536) = 0x7FFFFFFF
Run Code Online (Sandbox Code Playgroud)

我想自从那个数值计算课以来已经有一段时间了!

c c++ math cocoa types

6
推荐指数
1
解决办法
1033
查看次数

是否有更快的方法将任意String与Java中的月份名称相匹配

我想确定一个字符串是否是一个月的名称,我想要相对较快地完成它.目前卡在我脑中的功能如下:

boolean isaMonth( String str ) {
    String[] months = DateFormatSymbols.getInstance().getMonths();
    String[] shortMonths = DateFormatSymbols.getInstance().getShortMonths();
    int i;

    for( i = 0; i<months.length(); ++i;) {
        if( months[i].equals(str) ) return true;
        if( shortMonths[i].equals(str ) return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是,我将处理大量文本,一次传递一个字符串到这个函数,大多数时候我将遇到整个循环并返回false的最坏情况.

我看到另一个问题,谈到一个正则表达式匹配一个月的名字和一年可以适应这种情况.正则表达式会更快吗?还有其他解决方案可能更快吗?

java datetime string-matching

5
推荐指数
1
解决办法
223
查看次数

标签 统计

c ×1

c++ ×1

cocoa ×1

datetime ×1

java ×1

math ×1

string-matching ×1

types ×1