首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

怎么定义40bit或80位的数据类型,可不可以用"<<"来移位

2012-02-20 
如何定义40bit或80位的数据类型,可不可以用来移位?假设有一个序号从1号到40号的队伍领取避孕产品,我想

如何定义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.csdn.net/bookfiles/17/1001760.shtml

热点排行