任何整数类型都存在负数,那么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。
分享到:
相关推荐
任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码
【IT十八掌徐培成】Java基础第02天-02.字节-负数表示-补码-128计算.zip
机房环境监控系统VX交流加 -- jfjkrj ...1.java TCP通信实现对接硬件发送与接收十六进制数据 & int与byte的转换原理 & java中正负数的表示demo 2.java如何发送16进制字符串给机器,并得到机器返回的16进制字符串
Java 使用大家知道的2的补码(two's complement )这种编码来表示负数,也就是通过将与其对应的正数的二进制代码取反(即将1变成0,将0变成1),然后对其结果加1。例如,-42就是通过将42的二进制代码的各个位取反,...
为了本窗体程序的布局考虑,将+/-功能放到一个按键上面,也是对+功能、-功能做一个区分,+/-按键的意思是,第一次点击,数字前面是+号或者不显示,表示此数字为正,第二次点击,数字前面是减号,表示该数字是负数,...
1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。 41bit-时间戳,用来记录时间戳,毫秒级。 - 41位可以表示个数字, - 如果只用来表示正整数(计算机...
该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为SQL DATE值,是数据库操作中java.sql.Date的父类。关于数据库...
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...
二进制是无法精确的表示 0.1 的。 进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时...
补码,在Java(以及大多数现代计算机系统中)中,整数通常使用补码(Two's Complement)形式来表示。补码表示法不仅简化了加减运算,还使得负数的存储和正数一样简单高效
//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...
// 这表示a 的下一项 // 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。 } System.out.println("sum="+sum); } } 8、求 2/1+3/2+5/3+8/5+13/8.....前20项之和? class ...
1、日期转化为大小写 2、比较两个日期的大小 3、把日期往后增加一天.整数往后推,负数往前移动 4、根据一个日期字符串,返回日期格式,目前支持...7、 得到当前日期D的月底的前/后若干天的时间,表示之前,>0表示之后 8、
* 能够识别负数、小数,但注意出现a--13,这种情况时,就写为a-(-13) * 能够识别字符串 * 能够识别子公式号 * 能够识别多参数函数所需的参数,如max(a,b,c...) * 变量标识除字母、数字、"_"外,还增加"."用于表示...
Java中常量的分类: 1,整数常量。所有整数 2,小数常量。所有小数 3,布尔(boolean)型常量。较为特有,只有两个数值。true false。 4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。 5,字符串常量。...
此外,计数排序只能用于非负整数的排序,对于包含负数或浮点数的数组,需要先进行预处理以转换为非负整数。在Java实现中,我们首先找出数组中的最大值和最小值以确定整数范围,然后创建计数数组并统计每个元素的出现...
超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...
如果整数为负数(例如-1802),则表示此行上的人输给了具有该评级的人(1802)。 对于该行列出的所有评级,玩家的评级将根据下表进行调整。 球员的评分将根据以下 USATT 规则进行调整。 if higher rated if lower ...
上一章讲了Java的基本数据类型,...负:-,表示一个数是负数,例如 -1 自增 ++,表示将一个数在自身基础上加1,例如 1++ 其值为2 自减 --,表示将一个数在自身基础上减1,例如 1--其值为0 同理,二元运算符,就是
正整数相乘的结果居然出现了负数,要理解这个行为,我们需要看下整数在计算机内部的二进制表示...... 负数的二进制表示看上去可能比较奇怪和难以理解,但这种表示其实是非常严谨和正确的,是不是很奇妙?