位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能。如果要开发高效率程序,位运算符是必不可少的。位运算符用来对二进制位进行操作,包括:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)。下面就给大家介绍位运算符的详细用法。 位运算 ...
分类:
其他好文 时间:
2018-06-25 20:36:22
阅读次数:
161
虽然在日常中很少能用到Java的位运算符,但是发现在HashMap的源码中发现有>>>运算符,也顺便学习了一下Java中的位运算。 一、& and 按位与,如果两个二进制数的相同位都为1,则得到的新的二进制数该位也为1,否则为0; | or 按位或,如果两个二进制数相同位至少有一个为1,则得到的新的 ...
分类:
编程语言 时间:
2018-06-09 22:02:28
阅读次数:
210
今天友人和我讨论了一段代码,是HDU的OJ上一道题目的解,代码如下 起初,我以为代码中while语句里的按位取反运算符写错了,应该是逻辑非运算符。 这时我在Quora上找到了类似的问题,我对其中一篇答案做了修改和翻译: 查阅scanf函数的man手册,关于返回值的说明如下 函数返回按照格式成功匹配并 ...
分类:
编程语言 时间:
2018-05-28 01:06:29
阅读次数:
210
&:按位与,两个都为1才为1 | :按位或,两个都为0才为0 ^:按位异或,两个不同才为1 注意和按位或的区别,"1|1=1"而1^1=0 ~:按位取反 >>:右移,注意前边的符号位不动,相当于取整除,右移一位相当于除以2,右移n位相当于除以2的n次方。右移空出来的用0补齐 <<:左移,相当于乘以2 ...
分类:
编程语言 时间:
2018-05-17 16:44:22
阅读次数:
185
1.python语言区分大小写,python与c或者c++高级语言相比较,没有{},用缩进来表示代码块;同时也多了c、c++没有的数据类型复数,其real和imag部分都是float类型;对于空类型的值(无论是复数0.0+0.0j还是空元组(),空字典{})其返回值都为false,用户定义的空类型也 ...
分类:
编程语言 时间:
2018-04-30 18:02:06
阅读次数:
154
位运算符比一般运算符计算速度要快,而且可以实现一般算数运算符无法实现的功能,如果要高效率的编程,位运算符必不可少。 位运算符用来对二进制位进行操作,包括:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)。 指定A=60(0011 1100) B=13(0 ...
分类:
其他好文 时间:
2018-03-28 01:38:56
阅读次数:
128
c语言中32位int型数据在运算的时候可能会出现溢出的情况,如: -2147483648-1会得到什么结果? -2147483648乘(-1)会得到什么结果? 2147483647+1会得到什么结果? 在编译器中运行一下得到的结果分别是: -2147483648-1=2147483647; -214 ...
分类:
其他好文 时间:
2018-03-08 19:38:30
阅读次数:
293
原码 数字在计算机中以二进制表示,8位的字长,最高位是符号位, 正数为0,负数为1.比如,3为 ; 3为 。 注意,Java中int为32位。3的16进制表示为 , 3的16进制为 . 反码 正数的反码和原码相同。 负数的反码为符合位不变,其余按位取反。 3 为 ; 3为 。 补码 正数的补码和原码 ...
分类:
其他好文 时间:
2018-02-27 01:18:24
阅读次数:
183
Math.abs(~2018) 这要用到一些计算机的基础知识。 Math.abs(x)指的是返回一个数的绝对值,而关键在“~2018”,这是取反操作符,故取相反数得结果为-2018,Math.abs(-2018) 即2018,大功告成?结果,输入发现,错误!为什么? 首先,取反操作是按位取反,而不是 ...
分类:
其他好文 时间:
2018-02-25 17:29:03
阅读次数:
179
一、数据存储 二进制数在内存中以补码的形式存放。正数的反码、补码均为本身。负数的反码为符号位不变且其余位取反,补码为反码+1。 二、位运算 ①按位取反:反转操作数中的所有位。 ②按位与:仅当两个操作数都是1,结果为1。否则为0。 ③按位或:只要有一个操作数是1,结果为1。否则为0。 ④按位异或:只有 ...
分类:
编程语言 时间:
2018-02-11 00:07:03
阅读次数:
224