在数值运算中:
如何一个操作符是double类型的,则类型自动转换成double类型。 double d=0; d=d+1;
如果一个操作符是long类型的,则类型自动转换成long类型。 long l=0; l=l+1;
如果一个操作符是float类型的,则类型自动转换成float类型。 float f=0; f=f+1;
如果一个操作符是int类型的,则类型自动转换成int类型。 int i=0; i=i+1;
否则,其余的类型将自动换成成int类型
比如:
byte b=0;
b=b+1;
编译报错,错误原因为不能把int类型转换成byte类型,编译器把1当做int类型,和byte类型转换成为int类型,所以int不能自动转换byte,需要强制换行
十进制转换成二进制
转换十进制8至二进制:
2 | 8 | 0 |
2 | 4 | 0 |
2 | 2 | 0 |
1 | ||
结果:1000
二进制转换成十进制
3 | 2 | 1 | 0 | ||||||
二进制 | 1 | 0 | 0 | 0 | |||||
结果 | 8 | 0 | 0 | 0 |
结果:8
负的十进制与二进制的转换(-8)
1、获得十进制绝对值的二进制码(源码) -->1000
2、按位取反,获得反码 -->0111
3、在低位加1,获得补码 -->1000
4、加上表示符号的编码(正数0 负数1) -->11000
负二进制转换成十进制(11000):
1、去掉符号位 -->1000
2、低位减1 -->01111
3、取反,还原成原码 -->10000
4、