java中整型数据存储时是以补码的方式进行的。
1.何为原码,反码,补码?
首先java中的整型数值都是有符号的,规定数据的二进制形式第一位为符号位。0为正,1为负。则十进制3的原码为:0000 0011,十进制-3的原码为: 1000 0011 。
反码是原码符号位不变,其它位按位取反。即十进制3的反码为: 0111 1100 ;十进制-3的反码为:1111 1100。
补码,我们规定正数的补码与原码相同,负数的补码是反码加1。即十进制3的补码为: 0000 0011 ;十进制-3的补码为:1111 1101。
2.二进制的数据已经可以运算,为什么还要用补码?
这是为了方便计算。有没有发现,负数的补码与原码之和刚好为0。这表明负数的补码是原码的相反数。所以如果我们知道了一个负数的补码,对这个补码再求补即得原码。规律:负数补码的补码等于原码。采用补码进行计算,简化了减法运算,把减法转化成了加法运算。
分享到:
相关推荐
c++ 计算机底层 原码反码补码的练习题,包括答案
/* *功能实现任意二进制数的原码 反码 补码转换 *仅仅是字符串的操作,没有进行数字操作 *对-0的操作可能有问题 *ssfshine@gmail.com */
原码反码补码讲课.pptx
原码反码补码PPT学习教案.pptx
原码反码补码图解.原码反码补码图解.原码反码补码图解.
程序可将不限定位数的原码转成补码和反码,将反码转换成原码和补码,将补码转换成原码和反码,程序基于.NET 4.0,使用VS2012开发工具编写。
利用C++的MFC实现原码、补码、反码的转换
原码反码补码说课.pptx
进制转换及原码反码补码.docx
学习电脑信息原码反码补码详细解析
计算机数据进制转化(二进制 十进制 八进制 十六进制),以及机器码(原码 反码 补码)。
进制转换+原码反码补码参照.pdf
进制转换及原码反码补码练习题.doc
原码反码补码的定义PPT学习教案.pptx
JAVA基础补充(0)-原码反码补码
此文用于教学给学生看,欢迎专业人士来拍砖指正,避免本人陷于无知而不自知。
16进制(4位)到二进制原码、反码、补码计算
数字的原码、反码和补码
二进制-原码-补码-反码.pdf
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法.