类型转换

来源:互联网 发布:办公软件2003下载 编辑:程序博客网 时间:2024/05/08 22:17

     unsigned int i =6;

     int j = -20;

     如果执行 i + j ,会将int型转换为unsigned int ,所以-20会变成一个很大的数,i + j的结果不是-14.

    (当表达式存在有符号类型和无符号类型时,有符号类型会自动转换成无符号类型) 

 

隐式转换原则:

       (1) 为防止精度损失,类型总是被提升为较宽的类型.比如一个long 跟一个int的数相加,那么int的数会先被转为long.

       (2) 所有含有小于int型的有序类型的算术表达式在计算之前,其类型都会先被转成int..如一个long型跟一个char型相加,那么char型会先被转成int型,然后发现是跟long型数相加,再将此int型转成long型,再相加.

原创粉丝点击