HashMap为了存取高效,要尽量较少碰撞,就是要尽量把数据分配均匀,每个链表长度大致相同,这个实现就在把数据存到哪个链表中的算法; 这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1), hash%length==hash&( ...
分类:
其他好文 时间:
2018-09-30 14:50:04
阅读次数:
188
计算过程已1<<30为例,首先把1转为二进制数字 0000 0000 0000 0000 0000 0000 0000 0001 然后将上面的二进制数字向左移动30位后面补0得到 01000000 00000000 00000000 00000000(共计32位,是int的最大长度,第一位标示的是符 ...
分类:
其他好文 时间:
2018-09-29 14:20:32
阅读次数:
156
要进行各种各样的运算,就要使用不同的运算符号。 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、 算术运算符(+,-,*,/,++,--,%)、 比较运算符(>,<,<=,>=,==, ,!=,!==)、 逻辑运算符(||,&&,!)、 条件运算(?:)、 位移运算符(| ...
分类:
编程语言 时间:
2018-09-27 01:55:03
阅读次数:
161
总览: 数制与编码 进位计数制及其相互转换 真值和机器数 BCD码 校验码 定点数的表示和运算 定点数的表示 无符号数的表示,有符号数的表示 定点数的运算 定点数的位移运算,原码定点数的加/减运算,补码定点数的加/减运算,定点数的乘/除运算,溢出的概念和判别方法。 浮... ...
分类:
其他好文 时间:
2018-07-16 23:13:44
阅读次数:
217
python和shell都是我们经常使用的脚本语言,平时python主要用来写一些小型的任务,shell则在使用liunx系统部署任务的时候用的比较多,由于两者有一些相似之处,时间长了容易混掉,所以这里作文对一些基础的语法需求总结、比较、归纳,以为后用。 变量 python定义和使用只需要使用变量名 ...
分类:
编程语言 时间:
2018-06-07 23:04:10
阅读次数:
258
java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 1、 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数。1)它的通用格式如下所示:value << numnum 指定要移位值value 移动的位数。左移的规则只记住一点:丢弃最高位(符号位同样丢弃 ...
分类:
编程语言 时间:
2018-04-12 10:33:21
阅读次数:
168
1. 原题链接 https://leetcode.com/problems/divide-two-integers/description/ 2. 题目要求 给出被除数dividend和除数divisor,求出二者相除的商,余数忽略不计。 注意:不能使用乘法、除法和取余运算 3. 解题思路 陷阱一: ...
分类:
其他好文 时间:
2018-01-03 15:50:34
阅读次数:
108
Java中有三个位移运算符,用于对int类型整数的二进制表示进行操作: 1. "<<": 左移运算符,在二进制表示末尾添加“0”,之前的其他位相当于左移了一位,可看作成“乘以二”操作。 例如,a = 10,a 的二进制表示为“0000 0000 0000 0000 0000 0000 0000 10 ...
分类:
编程语言 时间:
2018-01-02 20:01:55
阅读次数:
142
1 int i = 10; 2 System.out.println(Integer.toBinaryString(i)); 3 //二进制右移 ----除以2 4 int a=i>>1; 5 System.out.println(Integer.toBinaryString(a)); 6 //二进... ...
分类:
编程语言 时间:
2017-12-26 21:02:09
阅读次数:
116
import org.junit.Test; /** * 1)> : 右移运算符 (测试正数) * 3)>> : 右移运算符 (测试负数) * 4)>>> : 无符号右移 (测试正数) * 5)>>> : 无符号右移 (测试负数) */ public class WeiYiTest { /** * ... ...
分类:
编程语言 时间:
2017-12-05 18:47:54
阅读次数:
183