一、关于原码,反码,补码。 原码,反码,补码都是计算机存储数字的编码方式,其中计算机内部用补码的形式存取数据。 原码 原码就是符号位加上真值的绝对值,即首位为符号位(1表示负,0表示正)其后表示其值。如: 反码 正数的反码是其本身不变, 负数的反码是在其本身基础上,符号位不变其余各位取反。如: 补码 ...
分类:
编程语言 时间:
2019-09-19 17:54:26
阅读次数:
81
1.原码、反码、补码 关于原码、反码、补码的相关知识作者不打算在这里长篇大论,相关知识已有别的大佬总结很好了,还请老铁自行 Google,不过有篇知乎回答是作者学编程以来见过对相关知识最通俗易懂,生动简洁的解释: "对原码、反码、补码最通俗易懂,生动简洁的解释" ,墙裂建议大家先看完这篇科普文章。在 ...
分类:
编程语言 时间:
2019-09-19 16:21:15
阅读次数:
82
原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。 反码:正数:正数的反码与原码相同。负数:负数的反码,符号位为“1”,数值部分按位取反。可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算。 补码:正数的补码就是其本身。负数的补码是在 ...
分类:
其他好文 时间:
2019-09-18 12:53:10
阅读次数:
110
二进制的最高位为符号位,其中0表示正数,1表示负数; 正数的原码补码反码都是相同的; 负数的反码是负数的符号位不变,其余位取反(即1变0,0变1); 负数的补码是反码加1; 举例:计算机字长为八位,所以转换一下, 正一的原码:0000 0001 反码:0000 0001 补码:0000 0001 ( ...
分类:
其他好文 时间:
2019-09-18 11:17:02
阅读次数:
121
原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。 反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反 补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了 ...
分类:
其他好文 时间:
2019-09-18 11:14:07
阅读次数:
119
原码: 二进制定点表示法(八位),即最高位为符号位(左数第一位),“0”表示正,“1”表示负,其余位表示数值的大小(二进制)。 反码: 正数的反码与其原码相同。 负数的反码是对其原码依次取反(0->1,1->0),但是符号位除外。 补码:正数的补码与其原码相同 负数的补码是在其反码的末尾加一(用二进 ...
分类:
其他好文 时间:
2019-09-18 00:47:11
阅读次数:
106
在学习原码, 反码和补码之前, 我认为有必要先讲解一下机器数与真值的概念。 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011 ...
分类:
其他好文 时间:
2019-09-16 23:49:02
阅读次数:
112
之所以不使用原码是因为源码在0处会产生正0和负0的区分,具有二义性,四则运算时符号位需要单独处理,且计算机硬件来说运算规则复杂,包括判断符号,异号操作,借位等。 负数采用补码操作后,可以将加减法统一为加法运算。 负数的补码是由该数的反码的最末位加1求得。 eg: X=-1010101的三码: 原:1 ...
分类:
其他好文 时间:
2019-09-15 16:56:06
阅读次数:
115
常见运算符: 算术运算符: + 加法 - 减法 * 乘法 / 除法 % 求余数,求模 // 整数 ** 幂次方 关系运算符:(结果是一个bool值 ) > 大于 < 小于 >= 大于等于 <= 小于等于 != 不等于 == 等于判断 逻辑运算符:(结果是一个bool值) 与(并): and 多者条件 ...
分类:
其他好文 时间:
2019-09-15 01:13:40
阅读次数:
112
转自 Java负整数的左移、右移、无符号右移 Java负整数的左移、右移、无符号右移。正数的位移没有涉及到符号,而且正数的原码、反码、补码都是一样的,所以相对简单,但是对于负整数的位移,往往容易混淆。 Java的<< > ...
分类:
编程语言 时间:
2019-09-12 18:23:06
阅读次数:
116