java加减的二进制实现

  Java中整数基本类型有byte,short,int,long,大小分别为1、2、4、8个字节,一个字节大小为8位,也就是8个二进制码(0/1)组成。

  计算机中二进制码分为原码,反码,补码。在计算机中正数以原码存储,负数以补码存储。

  原码是在机器中表示的形式,首位1代表负数,0代表正数。比如 以byte类型为例, 0000 0001代表正数1,1111 1111 表示-1。 正数的原码,反码,补码相同,负数的反码为原码除了符号位,其他位取反。补码为反码加1。比如-3原码为1000 0011,反码就为1111 1100,存在计算机中的数就是1111 1101。补码得原码跟原码得补码相同。

  注意:计算机中1000 0000 代表-128。

  在java中如果两个-128相加,不考虑进位的情况下,结果为 1 0000 0000,因为byte类型,所以1舍弃,最后结果为0。

  同理Integer.MAX_VALUE+Integer.MAX_VALUE结果为-2。

时间: 2024-12-05 19:54:46

java加减的二进制实现的相关文章

Java中常用加减密方式

1.加密概述: 加密就是是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使以获得了加密的信息,但因不知解密方式,仍无法了解信息的内容.大体上又分为双向加密和单向加密. 2.单项加密 2.1.概述: 单向加密又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密成密文,密文无法破解,一般都是采用验证的方式,具体是:在验证过程中,重新输入明文,并经过同样的加密算法后,得到相同的密文.单向加密广泛用于口令加密. 2.2.特点: (1)对同一消息反复执行加密得到相同的密文: (2)加密算法

一道int与二进制加减题

int dis_data = 32769; if( dis_data > 0x7fff)  dis_data -= 0xffff; printf("%d\n",dis_data); 上面的dis_data 输出值会是多少?  初一看可能还看不出来,那就计算一下: 0x7fff转换为十进制为 32767,显然 dis_data > 0x7fff, 所以要执行 dis_data -= 0xffff;这一句代码. 现在dis_data = 32769, 那么 0xffff转换为十

Java 中日期的几种常见操作 —— 取值、转换、加减、比较

Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提供了可行的解决方案,并不保证是最佳实践,欢迎讨论. 1. 日期取值 在旧版本 JDK 的时代,有不少代码中日期取值利用了 java.util.Date 类,但是由于 Date 类不便于实现国际化,其实从 JDK1.1 开始,就更推荐使用 java.util.Calendar 类进行时间和日期方面的处

java 常用的日期加减和日期格式化工具类

平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: 1 package bp.util; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 8 p

JAVA Calendar 日期加减

Date starttime=new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(starttime); cal.set(Calendar.DATE, cal.get(Calendar.DATE) - 2); starttime= cal.getTime(); JAVA Calendar 日期加减

java 日期加减天数、月数、年数的计算方式

因为某个项目需要统计 近1周.近1个月.近6个月 等数据,所以在时间的加减上面想了很多方式,最后决定用java.util.Calendar java.util.Calendar ,提供了计算时间的方式, Calendar.DATE  : 代表天数 Calendar.WEDNESDAY: 代表周数 Calendar.MONTH : 代表月数 Calendar.YEAR :代表年数 具体计算方式如下: 1. 计算近一周的日期,也就是得出过去7天的时间段,如今天2015-07-21  ,一个星期前那就

java日期加减操作

1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date());    System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期    calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日

JAVA日期加减运算

1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date());    System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期    calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日

Java 日期加减运算

1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date());    System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期    calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日