数字在JVM中的表示 一、整数在JVM中的表示 1.在Java虚拟机中,整数有四种表示: byte:8位 short:16位 int:32位 long:64位 2.原码、补码、反码 1)原码:符号位(左边第一位,0表示正数,1表示负数)加上数字的二进制表示。 2)反码:在原码的基础上,符号位不变,其 ...
分类:
其他好文 时间:
2017-09-28 15:59:28
阅读次数:
195
因为计算机最开心的就是做加法我们举个例子 7 和-7 假设是8位的变量7的 原码 0000 0111 反码 0000 0111 补码 0000 0111-7的原码 1000 0111 反码 1111 1000 第一位1 是符号位表示为负 不变 其他位取反 补码 1111 1001 在反码基础上最后一 ...
分类:
其他好文 时间:
2017-09-21 13:22:29
阅读次数:
117
只讨论整数 只讨论整数 原码: 正数:符号位 0,数值位即真值; 负数:符号位1,数值位即真值; [+3] = [0000 0011] [-3 ] = [1000 0011] [-127] = [1111 11111] [-128] = [1000 0000] // -0用来表示128 原码: 正数 ...
分类:
其他好文 时间:
2017-07-23 10:08:59
阅读次数:
150
在计算机中所有的数据的保存均是用二进制来实现的,而二进制的表示则是一串的0,1组成。而在计算机的表达中有着机器数和原码,反码,补码和移码等数据的编码表示方法。其中这些编码的方法称为码制。 一、机器数 各种数据在计算机中的表示的形式称为机器数,其特点是数的符号用0、1来表示。机器数并不能算作真正的数值 ...
分类:
其他好文 时间:
2017-07-12 21:19:52
阅读次数:
174
关于原码、反码、补码和移码的定义如下 1:原码: 2:补码 3:反码 4:移码 上述公式很复杂,因此,可以总结出一些常见的规律: 原码 如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示概数的绝对值。 例如: X=+101011 , ...
分类:
其他好文 时间:
2017-07-04 21:55:52
阅读次数:
673
1.正数(符号位为0)的原码=反码=补码。 2.负数(符号位为1)由原码到补码:原码符号位1不变(即先求绝对值的原码,将符号位变为1),其余取反,得到反码,再加1,得到补码。 重点:补码的表示方式有8位2进制,16位,32位,64位,这与c语言关键字表示的数值范围有关系。 3.对一个整数的补码再求补 ...
分类:
编程语言 时间:
2016-10-29 12:15:45
阅读次数:
214
补下基础 -- 原码、补码、反码 -- 正数补码、反码都和原码一样, 符号位为0 -- 负数原码 符号位为1,其他位为 绝对值表示的二进制数 反码 原码符号位不变、其他位按位取反 补码 反码 + 1 反码的问题是 00000000 为0, 反码为 00000000 10000000 也为0, 反码为 ...
分类:
其他好文 时间:
2016-09-15 12:31:35
阅读次数:
143
1. 为何要使用原码,补码反码 是因为计算机只能做加法,不能做减法,而补码就完美的解决了这个问题。 2. 原码 原码就是第一位是符号位,是人最容易理解和计算的编码。 [+1]原 = 0000 0001 [-1]原 = 1000 0001 3. 反码 正数的反码是其本身 负数的反码是在原码的基础上,符 ...
分类:
其他好文 时间:
2016-09-05 10:24:32
阅读次数:
166
位数:从右到左为由低到高。最高位就是最左边的第一位 1.二进制的最高位是符号位:0正数,1负数 2.正数的原码,补码,反码都一样 3.负数的反码=它原码符号位不变,其他位取反(0->1,1->0)。注意反码和取反(~)运算的区别,反码符号位不变,其他取反。而取反运算包括符号位都要取反 4.负数的补码 ...
分类:
其他好文 时间:
2016-08-09 09:27:01
阅读次数:
286
原码,补码,反码,这东西在我刚开始学习java的时候困扰了我好一会,看书本上的说法总感觉缺点什么 究其因归结为一个问题:1000 0101为什么不是-5? 1) 后来查了资料,自己梳理了下,理清楚了,在计算机中,系统统一使用补码来表示和存储,原因在于通过这种规则可以将符号位参与逻辑运算,于是有了以下 ...
分类:
其他好文 时间:
2016-08-09 00:23:18
阅读次数:
165