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);
}
}
マスクの出力をビットセットオブジェクトに取り込むことはできますか?私は(charフィールドの特別なchar出力)として出力されます
24。
文字値と整数値の両方を取得する方法も提案してください。ありがとう