[TOC] 1 整数表示 编码整数有2种方式: 一种只能表示非负数(大于0的数), 另一种能够表示负数、零和正数. (1) 整型数据类型: C和C++都支持有符号(默认)和无符号数, Java只支持有符号数. (2) 无符号数的编码: 无符号数的二进制表示又一个很重要的属性: 每个介于 0 ~ 2^ ...
分类:
移动开发 时间:
2019-09-16 00:23:48
阅读次数:
105
IP地址结构及分类寻址 IP地址 = <网络号> + <主机号> IPv4(32bit)点分四组表示法: 192.168.31.133 IPv4(32bit)二进制表示法: 11000000 11001000 00011111 10000101 在最初定义定义Internet地址结构时, 每一个单播 ...
分类:
Web程序 时间:
2019-09-15 01:49:27
阅读次数:
200
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析一下代码: 这段小小的代码,很是巧妙。 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不 ...
分类:
其他好文 时间:
2019-09-13 21:51:47
阅读次数:
92
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路分析 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一 ...
分类:
编程语言 时间:
2019-09-13 17:22:56
阅读次数:
104
八皇后问题一般情况下朴素的深搜就可以了,但可以对其进行二进制优化(这大概是目前最优的深搜算法): 用二进制表示状态.1表示该点不能放(与其他位置的皇后排斥或初始状态就不能放).0表示该点可以放皇后; dfs保存四个参数:之前所有行的状态,从左上到右下对角线的状态,从右上到左下对角线的状态,当前为第几 ...
分类:
其他好文 时间:
2019-09-10 19:36:11
阅读次数:
87
计算机中的信息是用二进制表示,那么反映这些二进制信息的量有,位、字长,字节、字等指标。 (1)位或比特(bit)。 计算机中的存贮信息是由许多个电子线路单元组成,每一个单元称为一个“位”(bit),它有两个稳定的工作状态,分别以“0”和“1”表示。它是计算机中最小的数据单位。 (2)字节(byte) ...
分类:
其他好文 时间:
2019-09-08 23:58:36
阅读次数:
192
ZR 956 集合 解法: 维护一个异或操作的懒标记,并对应的处理插入、删除和异或操作。接下来考虑如何整体加一。 考虑一个数字 $ x $ 变为 $ (x+1) \pmod {2^{30}} $ 的过程,设 $ x $ 在二进制表示下从低位到高位依次为 $ a_1,a_2,a_3 \cdots a_ ...
分类:
其他好文 时间:
2019-09-03 22:34:00
阅读次数:
131
闲扯 一道线段树好题~~裸题~~ 顺便吐槽一下出题人的数据。。。 最开始没看到 $A$ 可能大于 $B$ ,结果 $WA$ 了。。 题面 "题面" Solution 看范围, $T\leq30$ ,发现可以用二进制表示是否包含每一种颜料,接下来的事就好办了。 对于操作 $1$ ,是一个区间覆盖,直接 ...
分类:
其他好文 时间:
2019-08-27 23:06:49
阅读次数:
107
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 A1:判断数num的最右边一位是不是1,每次右移1位,直到数num变为0 > 要区分正数情况和负数情况,正数右移补0,负数右移补1 A2:避免死循环,不选择右移数num,而是左移flag > 循环次数比较大,32位整数需要循环3 ...
分类:
其他好文 时间:
2019-08-27 00:30:36
阅读次数:
110
地址是8个16进制数。 1、8个16进制数;相当于32个二进制数。4G内存刚好可以用32位的二进制表示出来。2、因为变量或函数等等在运行时都是存储在内存中的,所以你用取地址符当然是取出计算机内存中的地址了3、而现在的计算机大多是32位或64位。就是能处理32位或64的二进制,为了阅读的方便就把2进制 ...
分类:
其他好文 时间:
2019-08-26 22:43:32
阅读次数:
78