在学习Java运算时,补充学习Java位运算。 Java位运算 位运算都是针对整数的补码进行位运算。 & 按位与运算 先将整数转换为补码 ,然后执行按位与运算,最后将结果返回为十进制,它有如下几个规律: (1)正数&其他数=正数 考虑最高位为0,按位与都为0 (2)偶数&其他数=偶数 考虑最低位为0 ...
分类:
编程语言 时间:
2019-08-03 10:49:51
阅读次数:
75
对称闭包破传递. 实封序传稠阿对,实确单区聚有柯,高符狄黎阶冲函,结幺逆,加半分,整星逆,偏确界,线巴欧希拓空张扭旋泛同调流形皆集关 。这是为记忆数学概念的,比如,"群"是结幺逆,"环"是加半分。这里面的知识量很大也很难。 下面是很好很好的东西,多是对老知识的新表示,希望细看,并且消化。 对符号的意 ...
分类:
其他好文 时间:
2019-07-29 00:24:48
阅读次数:
99
一、进制转换 1、数制和码制 1、二进制数与十进制数之间的转换 转换原则:按权展开相加,将二进制数写成N的各次幂之和形式,然后按十进制计算结果。 (10111101)2 = 1x27+0x26+1x25+1x24+1x23+1x22+0x21+1x20 = (189)10 2、二进制转八进制 二进制 ...
分类:
其他好文 时间:
2019-07-28 00:02:05
阅读次数:
159
正数的原码,反码,补码不变。负数的计算方式如下负数的原码是本身。负数的反码:符号位不变,数字位按位取反。原码转换为反码原码10001101反码11110010反码转换为原码:符号位不变,数字位按位取反反码11010001原码10101110负数的补码:符号位不变,数字位按位取反后末尾加1原码转换为补码原码11000100反码10111011补码10111100//取反后末尾加1负数补码转为原码:符
分类:
其他好文 时间:
2019-07-25 10:50:52
阅读次数:
94
用于提高运算速度,规避算术运算符 在位操作运算中,不应该试图考虑先得到一个数的二进制码 ,而是应该将这个数看作是一个二进制码,二进制补码与整数之间是一一对应的. 诚然Python中有内置函数bin将一个整数转换位二进制,python中使用该函数转换位负数,斌不是其补码. 因此不能先得到该数的二进制码 ...
分类:
编程语言 时间:
2019-07-24 11:43:19
阅读次数:
141
位运算符: 与(&),或(|),非(~), 异或(^); 移位运算: 1.左移:在二进制表示下把数字同时向左移动,低位以0填充,高位越界后舍弃 1 << n = 2^n, n << 1 = 2n 2.算术右移:在二进制补码表示下把数字同时向右移动,高位以符号位填充,低位越界后舍弃 n >> 1 = ...
分类:
其他好文 时间:
2019-07-15 10:42:34
阅读次数:
230
自己的方法不适用性太差了 因为要另外处理0; 所以不建议采用 import java.util.Scanner; class Solution { public int bitwiseComplement(int N) { String str = ""; int sum = 0 ; if(N == ...
分类:
其他好文 时间:
2019-07-08 13:48:30
阅读次数:
70
计算机中所有的数据运算和数据存储都是补码的形式。 正数的原码,反码,补码都相同 负数的原码符号位为1(标识为负数),反码是对其原码逐位取反(符号位除外) 负数的补码通过在其反码的末尾加1得到 为甚采用补码计算呢? 由于计算机计算是在cpu中进行的,cpu中只有加法器,没有减法器,没法直接做减法运算, ...
分类:
其他好文 时间:
2019-07-07 13:03:14
阅读次数:
112
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 说明: 首先所有正数和负数在计算机中都是以补码的形式存在的,所以不用考虑转换成补码,只要你把正数、负数的二进制能写出来就可以了,计算机后台会自动转换成补码计算的! python python二进制: python二进制显示的时候前面会 ...
分类:
其他好文 时间:
2019-07-04 11:04:00
阅读次数:
84
复习 20190630 一、 原码、补码、反码、移码 真值(十进制数) 转换为真值(二进制数)最好补全为八位,对应的原码就是将最高位写成符号位(还是八位) 具体思维导图如下: 原码求补码的简便方法:除符号位之外,从最低位开始,遇第一个1之前的各位保持不变,其余各位按位取反 进制之间的转换,思维导图如 ...
分类:
其他好文 时间:
2019-07-01 13:57:20
阅读次数:
176