字符赋给整型量的问题请教一下
把几个字符封装到unsigned类型(可装4个字符)里面去 感觉没问题啦怎么输出结果不对啊#include<iostream>
using namespace std;
int i=0;//记录包装过的字节数
unsigned pack(char chars)
{
if (i<4)
i++;//记录包装过的字节数,比如第一次的时候装到第4个字节
unsigned hold;//暂存字符变量
unsigned packbody=0;//包装体
hold=chars;//把字符量交给hold
hold<<=8*(4-i);//把字符移入packbody中没有记录的地方
packbody+=hold;
return packbody;
}//包装函数
template<typename T>
void print( T num)
{
int mask=1;
int shift=8*sizeof(T);
mask<<=shift-1;
for (int i=0;i<shift;i++)
{
if((mask & num)>0)
cout<<1;
else
cout<<0;
mask>>=1;
}
cout<<endl;
}//二进制输出
#include<iostream>
using namespace std;
void main()
{
char test1='d',test2='b';
unsigned testnumber;
pack(test1);
testnumber=pack(test2);
print(test1);
print(test2);
print(testnumber);
}