数值类型转换规则以及进制转换
2013-10-27 16:04
393 查看
在数值运算中:
如何一个操作符是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至二进制:
结果:1000
二进制转换成十进制
结果:8
负的十进制与二进制的转换(-8)
1、获得十进制绝对值的二进制码(源码) -->1000
2、按位取反,获得反码 -->0111
3、在低位加1,获得补码 -->1000
4、加上表示符号的编码(正数0 负数1) -->11000
负二进制转换成十进制(11000):
1、去掉符号位 -->1000
2、低位减1 -->01111
3、取反,还原成原码 -->10000
4、
如何一个操作符是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 | ||
二进制转换成十进制
3 | 2 | 1 | 0 | ||||||
二进制 | 1 | 0 | 0 | 0 | |||||
结果 | 8 | 0 | 0 | 0 |
负的十进制与二进制的转换(-8)
1、获得十进制绝对值的二进制码(源码) -->1000
2、按位取反,获得反码 -->0111
3、在低位加1,获得补码 -->1000
4、加上表示符号的编码(正数0 负数1) -->11000
负二进制转换成十进制(11000):
1、去掉符号位 -->1000
2、低位减1 -->01111
3、取反,还原成原码 -->10000
4、
相关文章推荐
- Java编程经验汇总
- ORA-00257: archiver error. Connect internal only, until freed
- jodaTime 优秀的日期框架
- 自加++的应用
- ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
- hadoop 2.2.0 源码编译笔记
- UAP DataGrid的Save
- VS2008+Qt4.8.1下使用QtNetwork库
- hibernate中一对多(多对一)双向关联
- if语句运用
- 不患寡而患不均
- Android 开发环境搭建---elipse 安装ADT问题
- checkbox扩大点击范围以及一个监听器处理多个点击事件
- 一个简单的审批流程模型
- 根据分段函数的算式求出y的值
- 21点游戏C++模拟
- 求余语句%
- 开发人员非常有用的Java功能代码
- 除法和强制类型转换的结合运用
- 关于PCB的小结