0xFFFF,是16进制的 FFFF, 转化成二进制就是 1111 1111 1111 1111(2 * 8 = 16 位,2字节)1111 1111 1111 1111 在计算机里面, 就是 -1 的补码。。(补码的定义:正数最高位为0,负数为1,然后绝对值按位取反,最后加1,即为补码)1111 ...
分类:
其他好文 时间:
2015-04-19 17:42:35
阅读次数:
100
题目链接:poj--3237
题意很简单,给出n个节点的一棵树,有三种操作:
1、C修改第i条边的值为v
2、N改变节点a到b内边的权值的符号(取反)
3、Q询问节点a到b内权值的最大值
首先树链剖分,将边整合到线段树上,线段树数组cl,因为存在取反操作,所以最大值可能是由最小值取反得到,所以记录最大和最小值,cl[i][0]记录第i段的最大值,cl[i][1]记录最小值,lazy做标记...
分类:
其他好文 时间:
2015-04-19 16:17:18
阅读次数:
141
位运算
位运算:用于对整数类型(int,char, long 等)变量中的某一位(bit),或者若干位进行操作。比如:
1) 判断某一位是否为1
2) 只改变其中某一位,而保持其他位都不变。
C/C++语言提供了六种位运算符来进行位运算操作:
& 按位与(双目)
| 按位或(双目)
^ 按位异或(双目)
~ 按位非(取反)(单目)
>>...
分类:
其他好文 时间:
2015-04-19 16:13:11
阅读次数:
144
wc计算文件的行数,单词数,字节数#wc/etc/passwd40591800/etc/passwd#wc-l/etc/passwd40/etc/passwd#wc-w/etc/passwd59/etc/passwd#wc-c/etc/passwd1800/etc/passwdgrep正则介绍^行首$行尾v取反n显示行号c统计行数diff对比两文件的差异d删除了(delete)-a新增了(append)-c改变了(..
分类:
系统相关 时间:
2015-04-19 06:40:39
阅读次数:
279
八位的带符号的整数,比如JAVA中的byte,c#中的SByte,为什么值域范围都是-128-127而不是-127~128?事实上,远古时期有些计算机的设计是采用了反码表示有符号数的,因此8位有符号数的范围是-127~127,它的一个缺点是0是有正负。它用一位表示正负数,然对剩余的位数采用取反。比..
分类:
其他好文 时间:
2015-04-19 06:39:34
阅读次数:
144
位运算符 & | ~ ^& : 对两个二进制数按位做与运算,即 1 & 0 = 0; 1 & 1 = 1; 0 & 0 = 0;| : 对两个二进制数按位做或运算,即 1 & 0 = 1; 1 & 1 = 1; 0 & 0 = 0;~ : 对一个二进制数按位取反,即 ~1 = 0; ~0 = 1;^...
分类:
编程语言 时间:
2015-04-16 21:18:16
阅读次数:
159
文章来源背景大家都知道计算机内部采用补码表示整数的,但是具体到补码的内在含义,很多人不能理解,故我们分享自己的理解。首先说下补码的定义以及基本性质:
1) 正数的补码和原码相同;
2) 负数的补码等于取反后加1;
3) 0的正负两种补码相同;
4) 对一个补码再求补码等于自己;
5) 一个正数的原码和其对应的负数的补码相加等于模;针对本文,我们其实只关心规则1)和2)即可。实例为...
分类:
其他好文 时间:
2015-04-12 10:38:20
阅读次数:
127
今天重新补习了一下二进制原码,反码和补码之间的关系以及正数变负数,负数变正数之间的关系。瞬间感觉好晕,赶紧仔细研究: 原码就是符号位加上真值的绝对值。正数原码是其本身,负数符号位为1. 正数的反码和补码都是其本身,负数反码为符号位不变,其余各位依次取反;补码为符号位不变,其余各位依次取反后加1。 这...
分类:
其他好文 时间:
2015-04-10 00:58:42
阅读次数:
340
在计算机系统中,为了区分正负数,所有的数都是以补码的形式存储的:所以以下知识需谨记,在位运算中有着至关重要的作用。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。逻辑移位和算术移位仅体现在右移...
分类:
其他好文 时间:
2015-04-08 14:59:21
阅读次数:
147
Description
还记得大学里学过的模电么,今天就让我们将与或非变成一道题吧。
给你一个与或非的表达式,求出这个表达式的值,表达式总共有八种字符。
三种逻辑运算符按照优先级排列如下。
‘!’:表示取反。
‘&’:逻辑与。
‘|’:逻辑或。
两个字符‘T’,‘F‘分别表示true和 false。
另外还有左右括号,空格三种字符。跟一般的表达式一样,括号可以改变优先级。
...
分类:
其他好文 时间:
2015-04-05 17:31:34
阅读次数:
126