最近在看哈希表,把相应的哈希值散列分组到相应的slot(槽)中,中间用到了大量的移位运算和取模。
今天测试取模运算的时候,发现了一个取模运算的知识点。
例如 4取模2 = 0 ,4取模4=0 用二进制表示就是:
4 % 2
0100 (红色部分得出的结果是0)
*************************
4 % 4
0100 (红色部分得出的结果还是0)
如果一直往下推断的话:
6模2或4或8 8模2或4或8
6 % 2 8 % 2
0110 1000
*************************************************
6 % 4 8 % 4
0110 1000
(结果是10,转换为二进制是2)
上面是举例偶数对2的幂的取模,我想奇数对2的幂取模也是相同的道理。
根据这个规律我们很快能够计算出一个二进制数取模运算一个2的n次方数的结果
例如:
1011 0001 1101 1010 取模运算2^6——2的6次方
结果必然是 0000 0000 0001 1010
取模运算还有很多我不了解的作用,信息爆炸的时代,IT道路前方充满了曙光。
分享到:
相关推荐
javascript运算符——位运算符全面介绍.docx
浅谈javascript运算符——条件,逗号,赋值,()和void运算符_.docx
本文将介绍javascript中常常被忽视的运算符——位运算符 二进制表示 ECMAScript中的所有数值都以IEEE-754 64位格式存储,但位操作符并不直接操作64位的值,而是以32位带符号的整数进行运算的,并且返回值也是一个...
下面小编就为大家带来一篇javascript运算符——逻辑运算符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
下面小编就为大家带来一篇浅谈javascript运算符——条件,逗号,赋值,()和void运算符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
文章目录– 算数运算符- 比较运算符- 赋值运算符- 位运算符- 逻辑运算符- 成员运算符- 身份运算符is 与 == 的区别- 运算符的优先级- 写在最后的话: – 算数运算符 运算符 描述 实例 + 加 10 + 20 = 30 ...
神奇果——蓝莓
2.1 算术运算符 —— 乘与乘方 2.2 字符串运算符 —— 重复 2.3 函数实参汇集 —— 打包 2.4 函数实参分散 —— 解包 2.5 解压可迭代对象赋值给多个变量 一、绪论 在 Python 中,单星号 * 和双星号 ** 这两个符号...
神奇汉字——字之初本为画.ppt
excel表格的超级神奇——超级表excel表格的超级神奇——超级表
见证光电的神奇力量——记中国科学院半导体研究所研究员刘俊岐.pdf
python运算符(csdn)————程序
Python学习笔记——运算符 运算符: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算
《神奇的矩阵——第二季》《神奇的矩阵——第二季》《神奇的矩阵——第二季》《神奇的矩阵——第二季》
超级好用的屏幕点阵取模软件——PCtoLCD2002完美版
c++特殊运算符重载---流运算符重载(csdn)————程序
python基础入门(运算符)(csdn)————程序