char和数值的类型转换
文章目录
- 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和数值的类型转换
- 能否转换?
char可以和其他的数据进行类型转换。char和int等进行类型转换时,字符会自动转换为对应的ASCⅡ编码进行赋值与运算。 - 转换规则:
只要范围对应,就可以进行类型转换。怎么理解“范围对应”这个概念呢?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赋值
【不可以!即使浮点型是整数.0
(11.0
)的形式也不行】
2.2 浮点型的数值变量给char赋值
【不可以!浮点型的范围比long还要大,所以肯定在char的范围之外。】
2.3 char给浮点型的数值变量赋值
【可以。因为char的范围在浮点型的范围之内。】
三、 总结
搞清楚类型范围,区分是常量赋值还是变量赋值,就可以轻松解决char与数值类型的数值转换问题!
char和数值的类型转换相关推荐
- Java中的byte[]/char[]/int/String数据类型转换
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51743969 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- int型和char型之间的类型转换
目前绝大多数编译器,int 型数据占 4 字节, char 型占 1 字节.进行不同数据的强制转换其实就是数据占用字节扩充或者截断. 比如 int a; char b; a=(int)b; b=(ch ...
- java char类型数值转int,以及获取ASCII码
char转int数值 这是大家经常会遇到的问题,下面列出三种常见方法: (下面方法假设已经存在变量 char c = '1') 1.(int)(c - '0'); 这种方法是最快捷简单的方法,巧妙利用 ...
- char 类型与lpcwstr_C++类型转换 LPWSTR转char*
/****************************************************************************************** Function ...
- java中类型转换的造型_Java总结篇系列:类型转换/造型
Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用. 首先, ...
- java 类型转换_java中的基本数据类型的转换
本文参考了如下两篇文章: Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码 ...
- 关于Char* ,CString ,WCHAR*之间的转换问题
GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...
- java 的数据类型转换_java数据类型转换汇总
Java的数据类型的转换一般分为三种,分别是:简单数据类型之间的转换.字符串与其他数据类型的转换.其他实用数据类型的转换. 一.简单数据类型之间的转换 在java中,整型.实型.字符型被视为简单数据类 ...
- 对象在内存中的存储基本类型和包装类java类型转换
对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...
最新文章
- 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程
- android助手专业版,开发助手专业版 v5.6.1-cs for Android 直装付费专业版
- 【机器视觉】 measure_projection算子
- 每个人都在谈论硒替代品-明智地选择!
- javascript编译压缩
- 每天进步一点点《ML - KNN》
- C语言中的`sprintf`和`sscanf`两个函数介绍
- Python基础练习-002-求1000以内的完全数
- 禁忌搜索算法(现代优化计算方法)
- ie浏览器怎么打开html,IE浏览器无法打开网页如何解决
- 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
- 非GeoServer卫星影像及电子地图的瓦片方式发布
- PS中的文字叠加纹理
- 税务异常的公司如何办理注销?
- 安信证券 | 神州信息:金融软服增长较快,行业信创蓄势待发
- 2011移动开发者大会亮点之二:七大论坛神秘嘉宾闪亮登场!
- asp.net中获取当前url的方法(转)
- 《铁道科学与工程学报》投稿经验
- 深大计算机与软件学院院长,深圳大学计算机与软件学院自考办
- 实战模拟│企业微信机器人实时报错预警