我是靠谱客的博主 精明烧鹅,最近开发中收集的这篇文章主要介绍基本数据类型转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

讨论几种常见的类型转换

 

1,int和double的转换

int转double相当于乘以1.0

double转int相当于向下取整函数

 

2,相同位数的整数,有符号和无符号的转换

代码:

    int x=-1;
    cout<<unsigned int(x)<<"   ";
    unsigned int y=4294967295;
    cout<<int(y);

输出:

4294967295   -1

也就是说,相同位数的整数,相互转换的时候,不改变每一位的值,直接按照有无符号的自己的理解来理解就行

 

3,不同位数的整数之间进行转换

以char和int为例

PS:程序员一定要理解char就是整数类型这个思想。

(1)有符号低位转高位

    char c='';
    cout<<int(c)<<"  ";
    cout<<int(--c)<<"  ";
    c='';
    cout<<unsigned int(c)<<"  ";
    cout<<unsigned int(--c)<<"  ";

输出:

0  -1  0  4294967295

也就是说,有符号低位转高位是填充首位,即以1开头的数就补上很多1,以0开头的数就补上很多0

(2)无符号低位转高位

    unsigned char c='';
    cout<<int(c)<<"  ";
    cout<<int(--c)<<"  ";
    c='';
    cout<<unsigned int(c)<<"  ";
    cout<<unsigned int(--c)<<"  ";

输出:

0  255  0  255

也就是说,无符号低位转高位是填充0

(3)高位转低位

    long long x=(1LL<<63);
    cout<<x<<"  "<<int(x);

输出:

-9223372036854775808  0

也就是说,高位转低位是直接截取

最后

以上就是精明烧鹅为你收集整理的基本数据类型转换的全部内容,希望文章能够帮你解决基本数据类型转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部