utilities(C/C++)
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++)相关推荐
- utilities(C/C++)(二)
utilities(C/C++) 说明性语言 index out of range.:下标越界 排序准则(sorting criterion) 或许因为不想,或许因为不能,无法使用一般的 operat ...
- Bootstrap中的utilities(工具类)
变成弹性盒模型:d-flex/d-inline-flex 变成响应式的弹性盒模型:d-{breakpoint}-flex/inline-flex 子元素的排列方向: ...
- utilities(C++)——单例(Singleton) (使用智能指针 shared_ptr)
utilities(C++)--单例(Singleton) 上文简单版的单例类的实现的一大核心问题,在于new出来的堆对象不会被释放,就有可能造成内存泄漏的风险. class Singleton { ...
- KEIL 调试【调试lib库】【调试模式快捷键】【debug init脚本】【 Pre-Download Script into脚本(utilities下init file)】【将数据导出到文件】
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...
- utilities(matlab)—— 图像分块(image2cols、cols2image)
image2cols:图像分块 function patches = image2cols(im, pSz, stride) if nargin < 3,stride = 1; % stride ...
- utilities(matlab)—— l2row/l2col
对一个矩阵在行的方向进行 normalize,也即每一行的二范数归一化为 1. 简单脚本实现 >> X = magic(3); >> N = sqrt(sum(X.^2, 2) ...
- utilities(matlab)—— minFunc
minFunc minFunc is a Matlab function for unconstrained optimization(无约束最优化) of differentiable real-v ...
- utilities(C++)——枚举
对枚举类型(enum)的理解,通过变量名为有限状态空间(可列举)中的每一种状态赋予实际意义: typedef enum { RB_RED, RB_BLACK } RB_COLOR; 枚举的本质是可数集 ...
- 决策智能(Decision Intelligence)二三事
来源:https://www.zhihu.com/people/wang-jing-28-89-94 什么是决策智能? 大家看到这四个字,大多数人心里的发问会是"什么是决策智能"呢 ...
最新文章
- 循环获取结构体中的健名与值的实现
- 20 Very Useful Java Code Snippets
- .net core 项目文件结构浅析
- 2019阿里应届内推编程题
- android自定义task,Android Gradle 自定义Task 详解
- 519. 随机翻转矩阵
- GIL线程全局锁 协程
- java方法不写访问权限_【JAVA小白】 问关于访问权限的问题,写接口遇到错误
- MyReport报表引擎2.7.4.0新功能
- C语言把二进制转换为十进制数的方法和示例
- 程序员微信名昵称_2020最火的微信名有哪些 好听的微信名字推荐
- 终端服务器安全层在协议流中检测到错误,智能卡远程登录AD域环境下win7/2008,返回STATUS_LOGON_TYPE_NOT_GRANTED错误...
- 《孙悟空大战白骨精》小游戏
- 2021年上半年最接地气的Android面经,隔壁都馋哭了
- python中文朗读_用python实现的文字朗读
- ORACLE连接不上 Linux网络 端口 问题判断
- php获取用户豆瓣电影,php代码获取豆瓣网上电影信息的简介
- 年薪五十万的程序员在北京过着怎样的生活
- Spark任务执行流程
- Python金融系列第八篇:Fama-French 多因子模型
热门文章
- shape context matlab,形状上下文(shape context)算法完全解读
- 计算机辅助设计利用计算机的,计算机基础知识:计算机辅助设计
- 海思3159A运行yolov3(二)——yolov3模型转caffemodel模型
- OpenCV精进之路(十四):图像矫正技术深入探讨
- uboot之logo显示
- char *p=new char
- Vs 中关于项目中的某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
- 【Java并发编程一】线程安全问题
- 系统分析员备考之经济管理篇(一)
- UVA11027 Palindromic Permutation【回文】