进制的表示和浮点数的精确计算
public class HeloJava{
public static void main(String[] args) {
int a=15;
int b=015;//八进制的数
int c=0x15;//十六进制的数
int d=0b1101;//二进制的数
System.out.println(a);//输出时会自动的转换为十进制的数
System.out.println(b);
System.out.println(c);
System.out.println(d);
}}
import java.math.*;//使用BigDecimal的数学包 public class HeloJava{ public static void main(String[] args) { BigDecimal bd=BigDecimal.valueOf(1.0); bd=bd.subtract(BigDecimal.valueOf(0.1)); bd=bd.subtract(BigDecimal.valueOf(0.1)); bd=bd.subtract(BigDecimal.valueOf(0.1)); bd=bd.subtract(BigDecimal.valueOf(0.1)); bd=bd.subtract(BigDecimal.valueOf(0.1)); System.out.println(bd); System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);//一般的浮点数的计算都不是精确的 BigDecimal bd1=BigDecimal.valueOf(0.1); BigDecimal bd2=BigDecimal.valueOf(1.0/10); System.out.println(bd1.equals(bd2));//BigDecimal的比较更为精确 } }