怎么定义40bit或80位的数据类型,可不可以用"<<"来移位
如何定义40bit或80位的数据类型,可不可以用"<<"来移位?
假设有一个序号从1号到40号的队伍领取避孕产品,我想定义一个有40位的数据类型,从前向后每一位依次对应1号到40号人的性别,男的为1,女的为0,当,当第一位领到产品后,我就把这个变量向前移一位,请问一下各位,可以吗,如果可以的话,怎么定义?谢谢先!
------解决方案--------------------
超过64位,可以用bitset类来实现。
给楼主一个简单例子:
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
bitset <80> s(10001);
cout < <s < <endl;//原位串
s=s < <1; //左移一位
cout < <s < <endl;//移位后的位串
return 1;
}
关于bitset类,更详细的介绍在下面的链接:
http://book.****.net/bookfiles/17/1001760.shtml
假设有一个序号从1号到40号的队伍领取避孕产品,我想定义一个有40位的数据类型,从前向后每一位依次对应1号到40号人的性别,男的为1,女的为0,当,当第一位领到产品后,我就把这个变量向前移一位,请问一下各位,可以吗,如果可以的话,怎么定义?谢谢先!
------解决方案--------------------
超过64位,可以用bitset类来实现。
给楼主一个简单例子:
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
bitset <80> s(10001);
cout < <s < <endl;//原位串
s=s < <1; //左移一位
cout < <s < <endl;//移位后的位串
return 1;
}
关于bitset类,更详细的介绍在下面的链接:
http://book.****.net/bookfiles/17/1001760.shtml