日期:2014-05-20  浏览次数:20695 次

求救,怎样自己设一个字节
具体问题是这样的:小弟最近做一个手机程序要记录40多个问题答案(恶心的是允许多选),然后用sms发出去。我想直接把答案的编号发出去,可是这样就有可能超出sms大小(要求仅限一个sms)。于是就想了一个笨办法;假如答案是1,3,4,那我就造一个 "10110000 "的字节发出去(还好答案选项不超过8个)。不知这样能不能行,怎样能简单的实现而且避免用一个超大号switch,请高手指点。

------解决方案--------------------
对于8个答案,用一个8位的byte来表示
//记录答案
int n=0;
for(int i=0;i <8;i++)
if(答案包含第(i)个选项)
n=n&(1 < <i);
byte 答案=(byte)n;


//解析答案
int n=答案&0xff
for(int i=0;i <8;i++)
if(n&(1 < <i)!=0)
//答案包含第i个选项