- 博客(3)
- 收藏
- 关注
原创 位运算实现判断奇偶、取余、乘除等运算
1、位运算判断奇偶数 利用位运算,取数字二进制的最后一位再进行判断 if((K & 1) == 1) { //K为奇数 } else { //K为偶数 } 位运算的优先级最低,但是运算速度却最快,所以用 i & 1判断奇偶,要比用i%2==1来判断大约快4倍。在一个要执行上万次的for循环里,能明显提升判断效率。 2、位运算取余(模) 对除数为2、4、8…这类(2的i次方)取余的运算可以利用位运算: 被除数 除数 余数 K 2 K & 1 K 4
2020-09-11 21:32:22
1478
原创 C++ STL容器Map的按Key排序和按Value排序
1、按Key排序 我们知道,map内部本身就是按序存储的(红黑树),在我们插入<key, value>键值对时,就会按照key的大小顺序进行存储。这也是作为key的类型必须能够进行<运算比较的原因。现在我们用string类型作为key,因此,我们的存储就是按string的字典排序储存的。 #include <map> #include <string> #include <iostream> using namespace std; int main(
2020-09-07 10:33:40
1936
原创 位运算实现乘除法
移位实现乘除法运算 1、基础知识 二进制数:K = b0 * 2^0 + b1 * 2^1 + b2 * 2^2 + … + bn * 2^n + … 故乘二有:K = b0 * 2^1 + b1 * 2^2 + b2 * 2^3 + … + bn * 2^(n+1) + … 即左移一:K = 00 * 2^0 + b0 * 2^1 + b1 * 2^2 + … + bn * 2^(n+1) + … 同理除二:K = b0 *2^-1 + b1 * 2^0 + b2 * 2^1 + … + bn * 2^(
2020-08-28 19:20:11
7035
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人