文章目录

  • char和数值的类型转换
  • 一、 byte、short、int、long和char的转换
    • 1.1 整型的数值常量给char赋值
    • 1.2 整型的数值变量给char赋值
    • 1.3 char给整型的数值变量赋值
  • 二、 float、double和char的转换
    • 2.1 浮点型的数值常量给char赋值
    • 2.2 浮点型的数值变量给char赋值
    • 2.3 char给浮点型的数值变量赋值
  • 三、 总结

char和数值的类型转换

  1. 能否转换?
    char可以和其他的数据进行类型转换。char和int等进行类型转换时,字符会自动转换为对应的ASCⅡ编码进行赋值与运算。
  2. 转换规则:
    只要范围对应,就可以进行类型转换。怎么理解“范围对应”这个概念呢?char的表示范围为\u0000~\uffff,转为ASCII码为0 ~ 65535,所以如果对应的数值类型在这个范围,就可以和char进行类型转换。

一、 byte、short、int、long和char的转换

在进行转换之前,首先要清楚每个类型对应的具体范围。byte为-128 ~ 127,short为-32768 ~ 32767,int为-2147483648 ~ 2147483647,long比int还要大。清楚了范围之后,就要考虑常量和变量问题了。下边以具体代码为例说明。

1.1 整型的数值常量给char赋值

只要范围在0 ~ 65535 之间,就可以赋值,不在这个范围之内则会报错。

1.2 整型的数值变量给char赋值

【变量赋值时,范围判定的不是变量具体的值,而是变量自身的范围。比如int a = 10;判定范围不是10,而是int的范围-2147483648 ~ 2147483647,判定这个范围是否在char的范围0 ~ 65535之内,如果char的范围包含了这个范围则可以赋值,反之则不可以。】

很显然,4个整数都是带符号数,而char的范围是无符号的,所以整型的变量肯定都不能给char赋值。

1.3 char给整型的数值变量赋值

【类似的,也是判定char类型的范围是否包含在要赋值的整型范围内 。】

这里判定的也不是10是否在范围内,而是判定0 ~ 65535 是否在short、byte、int和long的范围内。很显然,byte的范围-128 ~ 127和short的范围-32768 ~ 32767不包含在char的范围内,所以不能被char类型赋值。

二、 float、double和char的转换

2.1 浮点型的数值常量给char赋值

不可以!即使浮点型是整数.011.0)的形式也不行】

2.2 浮点型的数值变量给char赋值

【不可以!浮点型的范围比long还要大,所以肯定在char的范围之外。】

2.3 char给浮点型的数值变量赋值

【可以。因为char的范围在浮点型的范围之内。】

三、 总结

搞清楚类型范围,区分是常量赋值还是变量赋值,就可以轻松解决char与数值类型的数值转换问题!

char和数值的类型转换相关推荐

  1. Java中的byte[]/char[]/int/String数据类型转换

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51743969 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  2. int型和char型之间的类型转换

    目前绝大多数编译器,int 型数据占 4 字节, char 型占 1 字节.进行不同数据的强制转换其实就是数据占用字节扩充或者截断. 比如 int a; char b; a=(int)b; b=(ch ...

  3. java char类型数值转int,以及获取ASCII码

    char转int数值 这是大家经常会遇到的问题,下面列出三种常见方法: (下面方法假设已经存在变量 char c = '1') 1.(int)(c - '0'); 这种方法是最快捷简单的方法,巧妙利用 ...

  4. char 类型与lpcwstr_C++类型转换 LPWSTR转char*

    /****************************************************************************************** Function ...

  5. java中类型转换的造型_Java总结篇系列:类型转换/造型

    Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用. 首先, ...

  6. java 类型转换_java中的基本数据类型的转换

    本文参考了如下两篇文章: Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码 ...

  7. 关于Char* ,CString ,WCHAR*之间的转换问题

    GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...

  8. java 的数据类型转换_java数据类型转换汇总

    Java的数据类型的转换一般分为三种,分别是:简单数据类型之间的转换.字符串与其他数据类型的转换.其他实用数据类型的转换. 一.简单数据类型之间的转换 在java中,整型.实型.字符型被视为简单数据类 ...

  9. 对象在内存中的存储基本类型和包装类java类型转换

    对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...

最新文章

  1. 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程
  2. android助手专业版,开发助手专业版 v5.6.1-cs for Android 直装付费专业版
  3. 【机器视觉】 measure_projection算子
  4. 每个人都在谈论硒替代品-明智地选择!
  5. javascript编译压缩
  6. 每天进步一点点《ML - KNN》
  7. C语言中的`sprintf`和`sscanf`两个函数介绍
  8. Python基础练习-002-求1000以内的完全数
  9. 禁忌搜索算法(现代优化计算方法)
  10. ie浏览器怎么打开html,IE浏览器无法打开网页如何解决
  11. 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
  12. 非GeoServer卫星影像及电子地图的瓦片方式发布
  13. PS中的文字叠加纹理
  14. 税务异常的公司如何办理注销?
  15. 安信证券 | 神州信息:金融软服增长较快,行业信创蓄势待发
  16. 2011移动开发者大会亮点之二:七大论坛神秘嘉宾闪亮登场!
  17. asp.net中获取当前url的方法(转)
  18. 《铁道科学与工程学报》投稿经验
  19. 深大计算机与软件学院院长,深圳大学计算机与软件学院自考办
  20. 实战模拟│企业微信机器人实时报错预警

热门文章

  1. ZETag云标签是什么?如何实现贵重包裹跟踪、供应链数字化
  2. 引用与引用作为函数的参数
  3. jQuery雪花插件JQuery-Snowfall Plugin
  4. 牛客入门编程—金字塔图案
  5. 手机号码清洗的优势是什么
  6. 语法基础——C语法基础
  7. 通过宽高自适应设计两栏布局和三栏布局
  8. 除了苹果耳机外哪个无线耳机好?苹果蓝牙耳机平替推荐
  9. 网络扫描工具ncnmap
  10. Qt 免注册版本下载