Java中的位运算有五种形式: 即 与 运算 &,或运算 | ,异或运算 ^ ,左移、右移运算;与运算与或运算都很好理解,异或运算就是在或运算的基础上,除了1^1=0与或运算不同,其他都与或运算相同;今天主要是想记录一下左移与右移运算: 在Java中左移运算,就是就二进制数最高位移除掉,并在末位增加 ...
分类:
编程语言 时间:
2020-07-03 17:24:30
阅读次数:
64
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 分析:这是一道很新颖的关于位运算的面试题。 首先我们考虑这个问题的一个简单版本:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出 ...
分类:
编程语言 时间:
2020-07-03 12:31:53
阅读次数:
61
1.使用 & 判断奇偶性: 偶数 & 1 = 0 奇数 & 1 = 1 2.使用~、>>、<<、>>>、|来取整 (相当于 Math.floor()) 注意 >>> 不可对负数取整 3.使用^判断符号是否相同 (a^b)>=0; // true相同;false不相同 4.使用^来检查数字是否不相等 ...
分类:
Web程序 时间:
2020-07-03 10:24:09
阅读次数:
71
常见运算符 &:按位与。 |:按位或。 ~:按位非。 ^:按位异或。(相同为0,否则为1) <<:左位移运算符。 >>:右位移运算符。 <<<:无符号右移运算符。 常见操作 1,判断x是奇数还是偶数:(x&1)==0 2,x乘以一个2的n次方的数:x<<n 3,x除以一个2的n次方的数:x>>n 4 ...
分类:
其他好文 时间:
2020-07-02 22:07:21
阅读次数:
87
位运算符 位:二进制简称“位”,是二进制计数系统中表示小于 2 的整数符号,一般用 1 或 0 表示,是具有相等概率的两种状态中的一种。二进制的位数可表示一个机器字的字长,一个二进制位包含的信息量称为 1 bit。(摘自百度百科) 位运算符用来对二进制位进行操作,Java中提供了如下所示的位运算符( ...
分类:
其他好文 时间:
2020-07-01 20:44:18
阅读次数:
196
快速算出移位运算符结果方法:在不大于自身数值类型最大位数的移位时,一个数移位n,就是将这个数乘以(左移)2的n次幂,右移就是除,然后都取整就可以了比如int 32位的500>>3 这样算:500/8 取整 就是62356>>4 356/16 结果是 228<<3 8*8 结果是 6464位和上面方法 ...
分类:
其他好文 时间:
2020-06-30 00:39:47
阅读次数:
58
什么是位运算? 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算都是叫位运算,即将符号位共同参与运算的运算。 举一个简单的例子来看下CPU是如何进行计算的,比如这行代码: int a = 35; int b = 47; int c = a + b; 计 ...
分类:
其他好文 时间:
2020-06-29 22:53:44
阅读次数:
63
第一阶段:C语言基础在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据类型、运算符、表达式、数组、/函等,这些是为了对C语言的基础有一个基础认知,扩展,整合;还会学到指针、联合体、结构体、枚举、位运算、预处理、文件等知识点,学这些是为了全面掌握面向过程设计、实练逻辑算法
分类:
编程语言 时间:
2020-06-28 14:57:32
阅读次数:
52
1.自增自减 ++i和i++的区别在于赋值和自增的顺序不同 public class Demo03 { public static void main(String[] args) { //++ -- 自增,自减 一元运算符 int a =3; int b=a++; //执行完这行代码后,先给b赋值 ...
分类:
其他好文 时间:
2020-06-28 00:20:18
阅读次数:
86
给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。 示例 1: 输入: ["abcw","baz","foo","bar","xtfn ...
分类:
其他好文 时间:
2020-06-28 00:13:29
阅读次数:
71