1

私はchar変数を持っていますが、最も重要でない2つの16進値にのみ関心があります。他の値をすべて失うにはどうすればよいですか?例:

 char input = 0xFFFFFFD1;  

が欲しいです:

 output = 0xD1;    

私は試した:

output = (input&0x000000FF);  

しかし、私が得るよりも:

output = 0xFFFFFFD1

この課題を解決するにはどうすればよいですか?

4

1 に答える 1

2

charプラットフォームでは8ビットである可能性が非常に高いです。その場合、これは:

char input = 0xFFFFFFD1;

これと同じです:

char input = 0xD1;

outputまた、それはタイプであると想定していintます。その場合、これが必要です:

int output = (unsigned char)input & 0xFF;

デモ: http: //ideone.com/FOdRG

[これが問題ではない場合は、使用している実際のコードを含めるように質問を更新する必要があります。]

于 2012-06-29T14:47:15.203 に答える