小编qbe*_*ben的帖子

如何用Java计算整数中的log base 2?

我使用以下函数来计算整数的log base 2:

public static int log2(int n){
    if(n <= 0) throw new IllegalArgumentException();
    return 31 - Integer.numberOfLeadingZeros(n);
}
Run Code Online (Sandbox Code Playgroud)

它有最佳性能吗?

有人知道为此目的准备好J2SE API函数吗?

UPD1令 我惊讶的是,浮点算术似乎比整数算术更快.

UPD2 由于评论,我将进行更详细的调查.

UPD3 我的整数运算函数比Math.log(n)/Math.log(2)快10倍.

java performance logarithm discrete-mathematics

134
推荐指数
7
解决办法
22万
查看次数

如何增加GWT celltable的单元格高度:IE问题?

如何增加GWT细胞的细胞高度?

在mozilla firefox单元格高度适当(根据内容)但在Internet Explorer的情况下某些部分内容无法正常显示

看图像 在此输入图像描述

我的Celltable.css如下:

@def selectionBorderWidth 0px;
.cellTableWidget {
    border: 1px solid red;
}

.cellTableFirstColumn {

}

.cellTableLastColumn {

}

.cellTableFooter {
    text-align: left;
    color: #4b4a4a;
    overflow: hidden;
}

.cellTableHeader { /** COLUMN HEADR TEXT */
    text-align: left;
    color: #4b4a4a;
    overflow: hidden;
    background-color: #E1E1E1;
    font-family: arial, Helvetica, sans-serif;
    font-size: 8pt;
    font-weight: bold;
    padding-left: 10px;
    height: 20px;
    border-bottom: #e6e6e6 1px solid;
    border-left: #a6a6af 0.5px solid;
    border-right: #e6e6e6 1px solid;  
    border-top: #a6a6af 0.5px solid;
}

.cellTableCell {
    overflow: hidden;
    padding-left: …
Run Code Online (Sandbox Code Playgroud)

css browser gwt internet-explorer gwt-celltable

8
推荐指数
1
解决办法
2456
查看次数

GWT SE友好的应用程序

如何在GWT中开发"搜索引擎友好"的Web应用程序?以StackOverflow本身为例,它是一个Web应用程序,应该是SEO友好的,允许用户从搜索引擎搜索.如果有人想在GWT中开发相同的应用程序.怎么能让它对SEO友好?

GWT包含单个HTML文件.我们怎样才能让它的内在内容在SE中可见?

任何建议或评论,都会有所帮助.谢谢.

seo gwt

5
推荐指数
2
解决办法
4628
查看次数

从具体类派生的抽象类

我刚刚在我的IDE中收到一条警告,我的班级是abstractconcrete班级派生出来的.什么?我为什么不能这样做?这非常符合我的需求.这只是一个警告,所以课程是可编辑的.只是感兴趣为什么它给了我这个警告.谢谢.

更新

我需要用一些解释来扩展我的问题.我有这个类派生自其他类,我希望没有人能够实例化它.而且,我需要来自这个抽象类的两个子类,并且每个子类都有自己的一个抽象方法的实现.这就是为什么.

你认为这是个坏主意吗?我应该采取什么方法呢?

java oop

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

将重复元素更改为0,将其他元素更改为数组中的1

我想比较一个数组的每个元素与其他元素.如果两个元素相等,那么一个应该更改为1,另一个元素应该更改为0.

我做错了什么?

package org.kodejava.example.io;

import java.util.Arrays;

public class Root {

    public static void main(String[] args) {
        System.out.println(Arrays.toString(arr()));
    }

    public static int[] arr() {
        int[] arc ={1,2,5,76,8,0,6,5,1,4,8,4,6,};

        for (int i=0;i<13;i++){
            for (int j=1;j<13;j++){

                if (arc[i] == arc[j] ) {

                    arc[i]=1;
                    arc[j]=0;

                }
                else { 
                    arc[i]=1;
                }
            }
        }

        return arc;
    }

}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我想得到一个这样的行: [1, 1, 1, 1, 1, 1, 1, 0, 0, 1...]

但是,我的尝试结束了 [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

提前致谢!

另一个例子,如果我们有一个序列,[1,1,4,6]那么最终的结果应该是 …

java arrays algorithm

-1
推荐指数
1
解决办法
206
查看次数

32位数字的十六进制表示

我有一个脚本生成两个随机的32位浮点数a和b,并将它们分开以产生输出c.

我想以十六进制格式存储所有这三个浮点数,作为包含8个字符的字符串.

我在网上找到了一个聪明的方法:

http://forums.devshed.com/c-programming-42/printing-a-float-as-a-hex-number-567826.html

这是我在C++中实现他们的建议

    fileout << hex << *(int*)&a[i] << endl;
    fileout << hex << *(int*)&b[i] << endl;
    fileout << hex << *(int*)&c[i] << endl;
Run Code Online (Sandbox Code Playgroud)

这适用于大多数情况.但是,有些情况下,字符串不是8个字符宽.有时他们只有一点点.以下是输出的示例:

                            af1fe786
                    ffbbff0b
                    fffbff0b
                    7fbcbf00  <-I like it, but has zeros at the end 
                    77fefe77
                    7ffcbf00
                    fdad974d
                    f2fc7fef
                    4a2fff56
                    67de7744
                    fdf7711b
                    a9662905
                    cd7adf0   <-- problem
                    5f79ffc0
                    0         <--- problem
                    6ebbc784
                    cffffb83
                    de3bcacf
                    e7b3de77
                    ec7f660b
                    3ab44ae4
                    aefdef82
                    fffa9fd6
                    fd1ff7d2
                    62f4      <--why not "62f40000"
                    ebbf0fa6
                    ddd78b8d
                    4d62ebb3
                    ff5bbceb
                    3dfc3f61
                    ff800000 <- zeros at end, but still …
Run Code Online (Sandbox Code Playgroud)

c c++ string floating-point

-1
推荐指数
1
解决办法
1万
查看次数