原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补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
输入一个整数,输出该数二进制表示中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
转自 Java负整数的左移、右移、无符号右移 Java负整数的左移、右移、无符号右移。正数的位移没有涉及到符号,而且正数的原码、反码、补码都是一样的,所以相对简单,但是对于负整数的位移,往往容易混淆。 Java的<< > ...
分类:
编程语言 时间:
2019-09-12 18:23:06
阅读次数:
116
主要是在第一周的基础上对Java的学习有了更深的认识以及有了更好的学习方向: 1、对于Java基本结构有了基本的认识,能写出简单的输出; 先说说学习方法部分 首先要能勾起兴趣 能够结合 生(游)活(戏) 中的实例来学习,就最好不过了,一来最好就让我知道这个学习目的是什么,不要一开始就太多理论,让我云 ...
分类:
编程语言 时间:
2019-09-10 14:59:58
阅读次数:
97
1.认识了java 了解了Java开发环境与配置 2. Java和C语言有藕断丝连的关系,感觉Java是在C语言的衍生但是所处配置环境不一样 3.学习正数和负数的补码 反码 4.学习运用二进制 5Java对代码的大小写的要求更加严格了 可能是一个小小的大小写忽略 会导致代码发生错误 6.了解了Jav ...
分类:
编程语言 时间:
2019-09-06 15:58:23
阅读次数:
92
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 A1:判断数num的最右边一位是不是1,每次右移1位,直到数num变为0 > 要区分正数情况和负数情况,正数右移补0,负数右移补1 A2:避免死循环,不选择右移数num,而是左移flag > 循环次数比较大,32位整数需要循环3 ...
分类:
其他好文 时间:
2019-08-27 00:30:36
阅读次数:
110