`
JasonBrooke
  • 浏览: 14192 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 如何表示负数

 
阅读更多

任何整数类型都存在负数,那么java中是如何表示负数的呢。

例如 5 在 计算机中的二进制表示为 0101,那么其负数(-5)怎么表示呢?

通过这个步骤就行:

注意,在做如下操作之前,我们应该非常注意5的二进制表示,它的高位一定要为0,也就是说如果5写成101,那么我们必须先将其表示成0101,这样按位取反的时候高位才会变为1。

将5按位取反,标为 1010, 然后加上1,变为1011,即为-5在计算机中的表示。
反过来,看到1011,第一反应看他的高位,如果高位为1,则肯定是个负数,那么他到底是负几呢,如下操作:将1011按位取反,得到0100,然后加上1,则得到其值0101,为5。则说明1011代表的是-5。

下面再练习两个:

1. 写出101101的十进制表示?
      第一步,取反,010010;
      第二步,加1,010011;
      第三步,计算十进制,1+2+16=19;
      第四步,得出结论:101101 = -19。

2. 写出-24的二进制表示?
     第一步,写出24的二进制表示,011000;
     第二步,取反,100111;
     第三步,加1,101000;
     第四步,得出结论,-24 = 101000。

补码:计算机中,数都以补码的形式存放,正数的补码是其本身,负数的补码是其绝对值取反加1。

分享到:
评论

相关推荐

    JAVA实现十进制整数(正负)转换为二进制输出

    任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码

    【IT十八掌徐培成】Java基础第02天-02.字节-负数表示-补码-128计算.zip

    【IT十八掌徐培成】Java基础第02天-02.字节-负数表示-补码-128计算.zip

    java开发的机房动力环境监控系统获取温湿度代码

    机房环境监控系统VX交流加 -- jfjkrj ...1.java TCP通信实现对接硬件发送与接收十六进制数据 & int与byte的转换原理 & java中正负数的表示demo 2.java如何发送16进制字符串给机器,并得到机器返回的16进制字符串

    JAVA基础之java的移位运算

    Java 使用大家知道的2的补码(two's complement )这种编码来表示负数,也就是通过将与其对应的正数的二进制代码取反(即将1变成0,将0变成1),然后对其结果加1。例如,-42就是通过将42的二进制代码的各个位取反,...

    java计算器案例01

    为了本窗体程序的布局考虑,将+/-功能放到一个按键上面,也是对+功能、-功能做一个区分,+/-按键的意思是,第一次点击,数字前面是+号或者不显示,表示此数字为正,第二次点击,数字前面是减号,表示该数字是负数,...

    IdWorker.java

    1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。 41bit-时间戳,用来记录时间戳,毫秒级。 - 41位可以表示个数字, - 如果只用来表示正整数(计算机...

    java常用工具类的使用

    该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为SQL DATE值,是数据库操作中java.sql.Date的父类。关于数据库...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    整理后java开发全套达内学习笔记(含练习)

    二进制是无法精确的表示 0.1 的。 进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时...

    Java 补码详细内容解析

    补码,在Java(以及大多数现代计算机系统中)中,整数通常使用补码(Two's Complement)形式来表示。补码表示法不仅简化了加减运算,还使得负数的存储和正数一样简单高效

    编译器用Java编写程序

    //Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/" static double m;//记忆的数字 public Counter() { gl1=new GridLayout(1,4,10,0);//实例化三个面板的布局 gl2=new GridLayout(4,1,0,15); gl...

    达内 coreJava 习题答案

    // 这表示a 的下一项 // 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。 } System.out.println("sum="+sum); } } 8、求 2/1+3/2+5/3+8/5+13/8.....前20项之和? class ...

    Java时间工具类

    1、日期转化为大小写 2、比较两个日期的大小 3、把日期往后增加一天.整数往后推,负数往前移动 4、根据一个日期字符串,返回日期格式,目前支持...7、 得到当前日期D的月底的前/后若干天的时间,表示之前,>0表示之后 8、

    公式解析器(用javacc实现)

    * 能够识别负数、小数,但注意出现a--13,这种情况时,就写为a-(-13) * 能够识别字符串 * 能够识别子公式号 * 能够识别多参数函数所需的参数,如max(a,b,c...) * 变量标识除字母、数字、"_"外,还增加"."用于表示...

    Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue

    Java中常量的分类: 1,整数常量。所有整数 2,小数常量。所有小数 3,布尔(boolean)型常量。较为特有,只有两个数值。true false。 4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。 5,字符串常量。...

    Java实现计数排序算法(源代码)

    此外,计数排序只能用于非负整数的排序,对于包含负数或浮点数的数组,需要先进行预处理以转换为非负整数。在Java实现中,我们首先找出数组中的最大值和最小值以确定整数范围,然后创建计数数组并统计每个元素的出现...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    java乒乓球源码-Prog1:Java介绍和CS1430评论

    如果整数为负数(例如-1802),则表示此行上的人输给了具有该评级的人(1802)。 对于该行列出的所有评级,玩家的评级将根据下表进行调整。 球员的评分将根据以下 USATT 规则进行调整。 if higher rated if lower ...

    【后端】java基础(2.3)java基本语法之运算符

    上一章讲了Java的基本数据类型,...负:-,表示一个数是负数,例如 -1 自增 ++,表示将一个数在自身基础上加1,例如 1++ 其值为2 自减 --,表示将一个数在自身基础上减1,例如 1--其值为0 同理,二元运算符,就是

    整数的二进制表示与位运算

    正整数相乘的结果居然出现了负数,要理解这个行为,我们需要看下整数在计算机内部的二进制表示...... 负数的二进制表示看上去可能比较奇怪和难以理解,但这种表示其实是非常严谨和正确的,是不是很奇妙?

Global site tag (gtag.js) - Google Analytics