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
}
有关该方法的说明和示例,请参阅 解释以下 C++ 方法。
我用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);
}
}
我们可以将掩码的输出转换为 Bitset 对象吗?我将作为(char 字段的特殊字符输出)
24.
还请建议如何同时获取字符和整数值。谢谢