Not getting the char value:
#define XL 33
#define OR 113
#define NOR 313
#define TN 344
int to_bits(int critn,char *mask)
{
unsigned int x;
int begin;
if (critn < XL) begin = 1;
else if (critn < OR) begin = XL;
else if (critn < NOR) begin = OR;
else if (critn <= TN) begin = NOR;
else begin = 0;
x = critn - begin;
*mask = (char)(0x80 >> (x % 8));
return (int)(x >> 3); // fast divide by 8
}
對於該方法的解釋和例子請參見 Explain the following C++ method。轉換(返回在Java多個值)
我寫了下面的方法,在Java中:
ClassA{
final static int xl = 33;
final static int or = 113;
final static int nor = 313;
final static int tn = 344;
public int to_bits(int critn){
int x;
int begin;
if(critn<xl)
begin = 1;
else if (critn<or)
begin = xl;
else if (critn<nor)
begin = or;
else if (critn<tn)
begin = nor;
else begin = 0;
x = critn - begin;
char mask = (char)(0x80 >> (x % 8));
System.out.println(mask);
return (int)(x >> 3);
}
public static void main(String args[]){
ClassA a =new ClassA();
a.to_bits(312);
}
}
我們可以採取屏蔽的輸出入位集合對象。 我收到了把爲(特殊字符輸出的字符字段)
請建議還如何讓這兩個性格和整數值。謝謝
@JavaBits:這是一個更好的問題,謝謝。 – 2011-04-08 13:37:55
真的是你的問題:「我如何從一個函數返回多個項目?」。 – 2011-04-08 13:37:59
是你的問題,「我如何改變這個以使to_bits返回一個[BitSet](http://download.oracle.com/javase/1.4.2/docs/api/java/util/BitSet.html)? – razlebe 2011-04-08 13:41:16