理解位运算转化十进制到二进制

您所在的位置:网站首页 22534十进制转化成二进制 理解位运算转化十进制到二进制

理解位运算转化十进制到二进制

2024-07-14 22:55| 来源: 网络整理| 查看: 265

小小的预备知识

1、>> 右移。      如果一个二进制数右移1位,则最右边的那一位,也就是最后一位就会被丢掉,但是同时倒数第二位就会变成最后一位。以此类推,右移2位、3位,可以理解为二进制数的倒数第3位,倒数第4位被移到了末位。      例如,我们在对十进制5进行“>>”时,即“5 >> 3”时,我们可把5看为“0101”,即位运算为“0101 >> 2”,结果为“0001”,即在前端补0的同时,倒数第3位的1被移到末位去了。

2、& 与运算      如果我们有一个二进制数,我们要得到它的末位数,该怎么办呢。其实只要&1就行了。      0&1 = 0,1&1=1,1&0=0,0&0=0可见一个二进制位和&1,都会保留自己原来数值,&0则都会被化为0哦      5&1=0101 & 0001,答案为1;4&1 = 0100 & 1,答案为0。      拓展一下,如果想要得到最后两位二进制位,那应该 &3 。      6&3=0110&0011,答案为2,即“10”;

代码模板 #include #include using namespace std; /* 该代码输出了从0到15的二进制数 */ int main(void) { int n = 0; for(int j = 0;j = 0;i --) //注意是3到0,这个在纸上画画很显然 cout i & 1); //第i + 1位的那一位被移动到末尾,然后被保留了下来。 cout 结果也一样是十进制整数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3