swap 的另一种实现

int max, min;
n > m ? (max = n, min = m):(max = m, min = n);// 此时的三目运算符不在等号右侧,用于赋值,而是做一些操作

十进制的小数形式(单精度、双精度)与 IEEE 754 下的二进制形式的相互转化

IEEE 754——计算机中浮点数的表示方法

std::bitset<32> float2bits(float n)
{_ULonglong nMem = *(unsigned __int64*)&n;return std::bitset<32>(nMem);
}
std::bitset<64> double2bits(double n)
{_ULonglong nMem = *(unsigned __int64*)&n;return std::bitset<64>(nMem);
}float bits2float(std::bitset<32>& bs)
{return *(float*)&bs;
}
double bits2double(std::bitset<64>& bs)
{return *(double*)&bs;
}

hashString

unsigned long  cryptTable[0x500];void prepareCryptTable()
{unsigned long idx1, idx2, k;unsigned long step = 0x100, n = 5;unsigned long seed = 0x00100001;for (idx1 = 0; idx1 < step; ++idx1){for (idx2 = idx1, k = 0; k < 5; ++k, idx2 += step){unsigned long tmp1, tmp2;seed = (seed * 125 + 3) % 0x2aaaab;tmp1 = (seed & 0xffff) << 0x10;seed = (seed * 125 + 3) % 0x2aaaab;tmp2 = (seed & 0xffff);cryptTable[idx2] = (tmp1 | tmp2);}}
}unsigned long hashString(char* lpszFileName, unsigned long dwHashType)
{unsigned char* key = (unsigned char*)lpszFileName;unsigned long seed1 = 0x7fed7fed, seed2 = 0xeeeeeeee;int ch;while (*key){ch = toupper(*key++);seed1 = cryptTable[(dwHashType << 8) + ch] ^ (seed1 + seed2);seed2 = ch + seed1 + seed2 + (seed2 << 5) + 3;}return seed1;
}

解释说明见 十一、从头到尾解析Hash表算法。

utilities(C/C++)相关推荐

  1. utilities(C/C++)(二)

    utilities(C/C++) 说明性语言 index out of range.:下标越界 排序准则(sorting criterion) 或许因为不想,或许因为不能,无法使用一般的 operat ...

  2. Bootstrap中的utilities(工具类)

    变成弹性盒模型:d-flex/d-inline-flex         变成响应式的弹性盒模型:d-{breakpoint}-flex/inline-flex 子元素的排列方向:           ...

  3. utilities(C++)——单例(Singleton) (使用智能指针 shared_ptr)

    utilities(C++)--单例(Singleton) 上文简单版的单例类的实现的一大核心问题,在于new出来的堆对象不会被释放,就有可能造成内存泄漏的风险. class Singleton { ...

  4. KEIL 调试【调试lib库】【调试模式快捷键】【debug init脚本】【 Pre-Download Script into脚本(utilities下init file)】【将数据导出到文件】

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

  5. utilities(matlab)—— 图像分块(image2cols、cols2image)

    image2cols:图像分块 function patches = image2cols(im, pSz, stride) if nargin < 3,stride = 1; % stride ...

  6. utilities(matlab)—— l2row/l2col

    对一个矩阵在行的方向进行 normalize,也即每一行的二范数归一化为 1. 简单脚本实现 >> X = magic(3); >> N = sqrt(sum(X.^2, 2) ...

  7. utilities(matlab)—— minFunc

    minFunc minFunc is a Matlab function for unconstrained optimization(无约束最优化) of differentiable real-v ...

  8. utilities(C++)——枚举

    对枚举类型(enum)的理解,通过变量名为有限状态空间(可列举)中的每一种状态赋予实际意义: typedef enum { RB_RED, RB_BLACK } RB_COLOR; 枚举的本质是可数集 ...

  9. 决策智能(Decision Intelligence)二三事

    来源:https://www.zhihu.com/people/wang-jing-28-89-94 什么是决策智能? 大家看到这四个字,大多数人心里的发问会是"什么是决策智能"呢 ...

最新文章

  1. 循环获取结构体中的健名与值的实现
  2. 20 Very Useful Java Code Snippets
  3. .net core 项目文件结构浅析
  4. 2019阿里应届内推编程题
  5. android自定义task,Android Gradle 自定义Task 详解
  6. 519. 随机翻转矩阵
  7. GIL线程全局锁 协程
  8. java方法不写访问权限_【JAVA小白】 问关于访问权限的问题,写接口遇到错误
  9. MyReport报表引擎2.7.4.0新功能
  10. C语言把二进制转换为十进制数的方法和示例
  11. 程序员微信名昵称_2020最火的微信名有哪些 好听的微信名字推荐
  12. 终端服务器安全层在协议流中检测到错误,智能卡远程登录AD域环境下win7/2008,返回STATUS_LOGON_TYPE_NOT_GRANTED错误...
  13. 《孙悟空大战白骨精》小游戏
  14. 2021年上半年最接地气的Android面经,隔壁都馋哭了
  15. python中文朗读_用python实现的文字朗读
  16. ORACLE连接不上 Linux网络 端口 问题判断
  17. php获取用户豆瓣电影,php代码获取豆瓣网上电影信息的简介
  18. 年薪五十万的程序员在北京过着怎样的生活
  19. Spark任务执行流程
  20. Python金融系列第八篇:Fama-French 多因子模型

热门文章

  1. shape context matlab,形状上下文(shape context)算法完全解读
  2. 计算机辅助设计利用计算机的,计算机基础知识:计算机辅助设计
  3. 海思3159A运行yolov3(二)——yolov3模型转caffemodel模型
  4. OpenCV精进之路(十四):图像矫正技术深入探讨
  5. uboot之logo显示
  6. char *p=new char
  7. Vs 中关于项目中的某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
  8. 【Java并发编程一】线程安全问题
  9. 系统分析员备考之经济管理篇(一)
  10. UVA11027 Palindromic Permutation【回文】