如何在C和C++中操作位

估算机中的一切数据均以二进制表明,即0或1。估算机不了解咱们的言语,它们了解位。一般,程序员并不关怀位等级的操作。可是有时程序员有必要更深化地研讨并研讨比特。


位表明

在编程中,将n位整数存储

为由n位组成的二进制数。因而,一个32位整数由32位组成,而64位

整数由64位组成。在C++编程言语中,int数据类型

为16位,32位和64位类型。

这是32位整数数字10的位表明方式:

0000000000000000000000000000101010

在C++中,

int

是带符号的或无符号的,因而位表明方式是带符号的或无符号的。


在带符号的表明中,第一位表明数字的符号(0

表明正,1表明负),其他n-1位包括数字的

巨细。

有符号和无符号表明之间存在联络。签名号码

-x

等于一个无符号数

2^n–x

-x(signed)=2^n-x(unsigned)

inta=-10;unsignedintb=a;std::couta"\n";/*-10*/std::coutb"\n";/*4294967286*/

在签名表明中,下一个数字

2^(n–1)–1

-2^n–1

,而且以无符号表明方式,是下一个数字


2^n–1

0

位操作


咱们能够运用&运算符查看数字是偶数仍是奇数。

unsignedint的二进制表明方式:

voidbinary(unsignedintnum){for(inti=256;i0;i=i/2){if(numi)std::cout"1";elsestd::cout"0";}std::cout

将位设置在方位:

intset_bit(intnum,intposition){intmask=1position;returnnum|mask;}

获取位的方位:

boolget_bit(intnum,intposition){boolbit=num(1position);returnbit;}

在清零方位:

intclear_bit(intnum,intposition){intmask=1position;returnnum~mask;}

代表集

整数的位表明为0索引,而且索引从右侧(即最低有用位)开端。这样咱们就能够代表调集的每个子集

{0,1,2,,n-1}

作为n位整数,其位指示哪个元素归于该子集。如果在数字的二进制表明中索引3的位为1,索引4的位为0,则3归于该子集,而4不归于该子集。

关于32位整数,调集为{0,1,2,…,31},子集为{1、3、4、8}。该调集的二进制表明方式是:

00000000000000000000000100011010

,十进制表明方式是2^8+2^4+2^3+2^1=282。

代码构成子集并向其间增加元素:

intadd_elements_to_subset(){intsubset=0;subset=subset|(11);subset=subset|(13);subset=subset|(14);subset=subset|(18);returnsubset;}

打印子集元素的代码:

voidprinting_subset(intsubset){for(inti=0;i32;i++){if(subset(1i))std::couti"";}}

相关阅读

  • 德庆龙母庙门票多少钱

    德庆龙母庙门票多少钱

    临沂国庆龙园门票多少钱一张(临沂国庆龙园门票多少钱一张啊)1、临沂龙园门票多少钱张? 2、门票购买入口:点击进入入口点击进入(入口有所优惠)3、龙园门票价格:4、据龙园旅游景区公众号(入口价格显示,龙园旅游区5、成人门票元起,儿童票(身高米...

    2024.04.28 09:59:39作者:redadmin
  • 上海黄兴公园要门票吗

    上海黄兴公园要门票吗

    北京北海公园要门票吗?1、要门票。门票价格旺季:月日-月日,票价:门票:元 联票:元。淡季:月日-月日,票价:门票:元 联票:元。开放时间公园开放时间旺季:月日-月日 :--:: 停止入园);淡季:月日-月日 :--::停止入园)。园中园及...

    2024.04.28 09:49:57作者:redadmin
  • 淹城春秋乐园门票多少

    淹城春秋乐园门票多少

    常州淹城春秋乐园有什么好玩的 常州淹城春秋乐园有什么好玩的地方1、常州淹城春秋乐园,正式挂牌国家A级景区了。 春秋乐园不大,人倒是不多所以项目排队也不长,布置的景致不错,尤其是夜晚的灯光秀,真是美轮美奂,很适合家人去玩! 2、春秋文化主题...

    2024.04.28 09:41:33作者:redadmin
  • 康佳电饭煲如何使用

    康佳电饭煲如何使用

    苏泊尔电饭煲使用方法(苏泊尔电饭煲使用)1、小伙伴们好,最近小跳发现有诸多的小伙伴们对于苏泊尔电饭煲使用这个都颇为感兴趣的,那么小跳今天就来为大家梳理下具体的些信息起来看看吧。苏泊尔球形水壶智能电饭煲面板使用方法如下:待机状态下,按功能选择...

    2024.04.28 08:34:55作者:redadmin
  • 溪口风景区门票学生票

    溪口风景区门票学生票

    绿林山风景区门票多少钱?绿林山风景区学生票呢?1、门票:这里的景点都是分开收费,绿林寨元/人、美人谷/人、漂流则需要/人,建议可选择自己喜欢的个景点好好玩。腾龙洞曾被《中国国家地理》评为“中国最美的地方”、“中国最美大旅游洞穴——震撼腾龙洞...

    2024.04.27 11:32:52作者:redadmin
  • 嘉峪关护国寺门票价格

    嘉峪关护国寺门票价格

    唐山迁安塔寺峪门票价格+购票入口 迁安市塔寺峪门票1、塔寺峪景区 2、塔寺峪景区位于河北省迁安市大里乡境内,地处迁安市、迁西县的交界地带,距市政府所在地迁安市区 公里。迁安塔寺峪景区由迁安市塔寺峪旅游开发有限公司开发建设。塔寺峪景区占地面积...

    2024.04.26 09:52:45作者:redadmin
  • 华为b2如何测心率

    华为b2如何测心率

    华为mate30怎样测网速(华为mate30如何测网速)1、华为mate测网速的方法:在手机桌面上找到并点击打开【设置】。 进入设置页面后,点击打开【显示】。 在应用和通知菜单下,点击打开【更多显示设置】。 找到并点击打开【显示实时网速】的...

    2024.04.26 09:43:13作者:redadmin
  • 华侨城文化创意园门票

    华侨城文化创意园门票

    东部华侨城门票包括啥东部华侨城在哪买票1、 东部华侨城门票门票价:大侠谷日游:¥元/人通票制,凭门票入园后可免费游玩园区内所有的游乐设施(电瓶车除外 。观看《天禅》演出需要另外购买门票元。售票处主要分设处:大侠谷售票处主要出售门票缆车组合票...

    2024.04.26 09:02:46作者:redadmin

添加新评论