前提知识: 1. 计算机中对于有符号数的表示有三种方式,原码,补码,反码。 2. 在Java中,二进制数最高位是符号位,0表示正数,1表示负数; 3. 正数的表示,例如byte/int 数3, 二进制就是 0000 0011,负数的表示稍微麻烦一点(负数在计算机中是以补码的形式存储的) -5 的二进 ...
分类:
其他好文 时间:
2020-01-21 16:07:40
阅读次数:
94
"Link" 开一个桶记录每个数字出现过多少次,同时用bitset维护$x$是否出现过。 那么查询是否有两个数的差为$x$就是把bitset右移$x$位然后与自己,如果有位置为$1$那么就说明存在。 查询是否有两个数的和为$x$也可以类似地做,多开一个bitset维护$10^5 x$是否出现过。 查 ...
分类:
其他好文 时间:
2020-01-20 12:58:29
阅读次数:
96
@ "TOC" JDK1.7:数组+链表 JDK1.8:数组+链表+红黑树 前五个问题环境用的是是JDK1.7,后面全部是1.8 1、Hash的计算规则? 简单的说是个“扰动函数”,目的是为了使散列分布的更加均匀。 具体算法是用key的Hashcode值右移16位,将hashcode高位和低位的值进 ...
分类:
其他好文 时间:
2020-01-19 22:35:07
阅读次数:
138
1、题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单? 2、思 ...
分类:
其他好文 时间:
2020-01-19 09:48:27
阅读次数:
75
整数运算 请点击这里--》》 传送门 浮点数运算和整数运算相比,只能进行加减乘除这些数值计算,不能做位运算和移位运算。 在计算机中,浮点数虽然表示的范围大,但是,浮点数有个非常重要的特点,就是浮点数常常无法精确表示。 举个栗子: 浮点数0.1在计算机中就无法精确表示,因为十进制的0.1换算成二进制是 ...
分类:
编程语言 时间:
2020-01-18 16:40:13
阅读次数:
84
这是位运算符中的右移运算符:a>>4表示将a的个二进制位右移4位,移到右端的低位被舍弃,对无符号数,高位补0例如:a=017时:a的值用二进制形式表示为:00001111,a>>4为:00000000|1111【后面的1111舍弃】右移一位相当于除以2,右移n位,就相当于除以2^n。 ...
分类:
编程语言 时间:
2020-01-17 11:42:15
阅读次数:
344
一:函数参数的传递原理: 函数参数以数据结构——栈,的形式存取,从右到左入栈。因此,我们只要知道了任意一个变量的地址,并且知道其他变量的类型,通过指针移位运算,就可以顺藤摸瓜,找到其他输入变量。 二:头文件<stdarg.h>中几个重要的宏定义如下: typedef char * va_list; ...
分类:
其他好文 时间:
2020-01-13 19:34:11
阅读次数:
95
逆置前p个元素,再逆置剩下的元素,再逆置全部 测试数组:1 2 3 4 5 6 如:循环左移3位 3 2 1 6 5 4 4 5 6 1 2 3 法2:从0开始,下标-p,如果小于0,再加数组长度n,将0的值放入该下标 测试数组:1 2 3 4 5 如:循环左移3位 下标0:0-3+6=3 ...
分类:
编程语言 时间:
2020-01-12 20:15:33
阅读次数:
91
""" PDU 7-bit 编码 第一个字符,去掉最高位,将第二个字符的最低位移入第一个字符的最高位。 第二个字符,右移1位,去掉最高2位,将第三个字符的最低2位移入第二个字符的最高2位。 第三个字符,右移2位,去掉最高3位,将第四个字符的最低3位移入第三个字符的最高3位。 以此类推,到第八个字符, ...
分类:
编程语言 时间:
2020-01-12 19:47:40
阅读次数:
115
搞定MySQL双机备份 为了数据的安全,客户有两台机器作为互相备份,当一台机器出现故障时,自动切换到另外一台服务器。大部分的软件我们是通过LifeKeeper来实现的,但是MySQL的双机备份在LifeKeeper里没有实现,看来,只有我手动来实现MySQL的双机备份了哦。 先说说环境 QUOTE: ...
分类:
数据库 时间:
2020-01-12 18:32:31
阅读次数:
103