算法前置基础知识(部分)
0&0=0; 0&1=0; 1&0=0; 1&1=1;
| (or)按位或运算符,按二进制位进行"或"运算。运算规则:(有 1 则为 1)
0|0=0; 0|1=1; 1|0=1; 1|1=1;
XOR,异或运算符。运算规则:(不同为1,同为0)
0^0=0; 0^1=1; 1^0=1; 1^1=0;
>>右移运算符 n/2
<<左移运算符 n*2
取到某个数的二进制最低位: result=n&(-n);
取到某个数的二进制最高位:
//关系运算符优先级大于符号运算符!所以必须要有括号 n|=(n>>1); //前2位变为1 n|=(n>>2); //前4位变为1 n|=(n>>4); //前8位变为1 n|=(n>>8); //前16位变为1 n|=(n>>16); //前32位变为1 n|=(n>>32); //前64位变为1 //超过int最大位数,足够大,能够保证所有位都变为1. n^=(n>>1); //右移一位异或后n取到最高位的大小 //n即为所求 //例: //1001 // 100 1101 //1101 // 11 1111 //1111 //..... //1111 // 111 1000 //异或后求出1000
保留任意位小数输出
#include<iomanip> //需要头文件 cout<<fixed<<setprecision(n)<<number<<endl; //n为保留小数位数
后续待添加.....

浙公网安备 33010602011771号