在Java中存在着这样一类操作符,是针对二进制进行操作的,它们分别是&、|、^、~、>>、>>几个位操作符,无论是初始值是按照何种进制,都会换算成二进制进行位
操作。接下来对这几种操作符进行一下简单的讲解。
&:
作用是对运算符两侧以二进制表达的操作符按位分别进行'与'运算,而这一运算是以数中相同的位(bit)为单位的。操作的规则是:仅当两个操作数都为1时,输出结果才为1,否
则为0,示例...
分类:
编程语言 时间:
2015-07-21 22:18:04
阅读次数:
153
http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号...
分类:
其他好文 时间:
2015-07-21 22:06:34
阅读次数:
154
一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011...
分类:
其他好文 时间:
2015-07-16 11:09:39
阅读次数:
112
整数在计算机中都是以二进制的方式存储的,例如 2 = 0000 0010。最高位是符号位,0表示正数,1表示负数。正数的情况很容易理解,但是负数存储的是补码
,-2 = 1111 1110。
(一) 概念
以8位的字长为例
正数补码==原码
负数补码为,除符号位外取反,然后加1 +2 = 0000 0010[原码] = 0000 0010[补码]
-2 = 1000 001...
分类:
其他好文 时间:
2015-07-14 13:48:38
阅读次数:
133
本篇来由昨天进行了反码、补码那些和浮点数的研究,但是还有一些问题遗漏,晚上跟寝室众基友讨论了,反而提出来一个很有意思的问题,于是有了本篇~~我们并不知道为什么有补码这个东西,只知道在计算机中广泛用补码存储,不知道为什么叫“补”码。...
分类:
其他好文 时间:
2015-07-14 08:43:10
阅读次数:
164
今天听到实验室有人问道浮点数的实现机制,之前刚好研究过原码、反码、补码、移码的关系,而这类问题很底层,一般容易忽视。干脆打破沙锅问到底,彻底搞清楚这个问题并留下证据,于是就有了这篇博文。...
分类:
其他好文 时间:
2015-07-13 18:35:07
阅读次数:
167
一,基本概念认知
1,为啥要用补码
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。...
分类:
其他好文 时间:
2015-07-06 23:33:16
阅读次数:
303
1 #include 2 3 int main(int argc, const char * argv[]) { 4 5 //定义10进制数,打印出10、8、16进制的值 6 int a = 13; 7 printf("%d\n",a); 8 prin...
分类:
其他好文 时间:
2015-07-06 15:54:30
阅读次数:
204
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器...
分类:
其他好文 时间:
2015-07-04 19:36:41
阅读次数:
113