- 博客(3)
- 收藏
- 关注
原创 位运算实现判断奇偶、取余、乘除等运算
1、位运算判断奇偶数利用位运算,取数字二进制的最后一位再进行判断if((K & 1) == 1){ //K为奇数}else{ //K为偶数}位运算的优先级最低,但是运算速度却最快,所以用 i & 1判断奇偶,要比用i%2==1来判断大约快4倍。在一个要执行上万次的for循环里,能明显提升判断效率。2、位运算取余(模)对除数为2、4、8…这类(2的i次方)取余的运算可以利用位运算:被除数除数余数K2K & 1K4
2020-09-11 21:32:22
1463
原创 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
1919
原创 位运算实现乘除法
移位实现乘除法运算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
6998
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人