char 与 int之间的转换

char 与 int之间的转换1 首先 char 与 int 都分为 signed 与 unsigned 类型 默认情况下都是 signed 类型 2 从长字节数据类型转换为短字节数据类型 会产生截断 如从 4 字节的 int 类型转换成 1 个字节的 char 类型 则取 int 数据的最低的一个字节 将这个字节的数据赋给 char 型数据 且是有符号的 即首位为符号位 而如果是从 int 转换成 unsignedchar 类型 则整个一个字节都是数据 没有

转载自:

1.首先char与int都分为signed与unsigned类型,默认情况下都是signed类型。

2.从长字节数据类型转换为短字节数据类型,会产生截断:

如从4字节的int类型转换成1个字节的char类型,则取int数据的最低的一个字节,将这个字节的数据赋给char型数据,且是有符号的,即首位为符号位;而如果是从int转换成unsigned char类型,则整个一个字节都是数据,没有符号位。

[cpp]  view plain  copy

  print ?

  1. #include 
      
  2. int main()  
  3. {  
  4.     int s=128;  
  5.     unsigned char unChar=s;  
  6.     char Char=s;  
  7.     printf(“%x\t%x\n”,Char,unChar);//按16进制输出  
  8.     printf(“%d\t%d\n”,Char,unChar);//按10进制输出  
  9. }  

2.从短字节类型转换为长字节类型

从char转换为int:则在前面的三个字节补符号位,即补上0xffffff(char的首位为1),或0x000000(char的首位为0)。

从unsigned char转换为int,则前面补上0x000000.

[cpp]  view plain  copy

  print ?

  1. #include 
      
  2. int main()  
  3. {  
  4.     int s1,s2;  
  5.     unsigned char unChar=128;  
  6.     char Char=128;  
  7.     s1=(int)unChar;  
  8.     s2=(int)Char;  
  9.     printf(“%x\t%x\n”,s1,s2);//按16进制输出  
  10.     printf(“%d\t%d\n”,s1,s2);//按10进制输出  
  11. }  

char 与 int之间的转换

3.ASCII码为1个字节,而第一位为符号类型。其非负数范围为0-127。

在此范围内的字符,强制转换为int之后,都可以得到其对应的ASCII值。

如:

char a=78;

int b=(int)a;

cout<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177680.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:57
下一篇 2026年3月26日 下午6:57


相关推荐

  • MATLAB 2018b 安装与简介

    MATLAB 2018b 安装与简介matlab2018b安装教程该版本是mathworks官方开发的新版本的商业数学软件,可以帮助用户不仅仅将自己的创意停留在桌面,还可以对大型数据集运行分析,并扩展到群集和云。另外matlab代码可以与其他语言集成,使您能够在Web、企业和生产系统中部署算法和应用程序。与matlab2018a相比,matlab2018b拥有更多数据分析、机器学习和深度学习选项,并且速度比以往更快。其亮点…

    2022年6月10日
    95
  • 【Maven】maven的pom文件的位置

    【Maven】maven的pom文件的位置在不用 Maven 的时候 比如说以前我们用 Ant 构建项目 在项目目录下 往往会看到一个名为 lib 的子目录 那里存放着各类第三方依赖 jar 文件 如 log4j jar junit jar 等等 每建立一个项目 你都需要建立这样的一个 lib 目录 然后复制一对 jar 文件 这是很明显的重复 重复永远是噩梦的起点 多个项目不共用相同的 jar 文件 不仅会造成磁盘资源的浪费 也使得版本的一致性管理变得困难 那么这个时候呢 maven 就来啦 maven 是一个项目管理工具 maven 中有一个 maven 仓库放置所有的 j

    2026年3月17日
    1
  • 通过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)

    通过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)打开浏览器自带的 F12 看到网络上关于这个总结的比较少 就收集了一些资料做个总结 有错的麻烦指出 谢谢 一开始用的是谷歌浏览器 后来接触到火狐浏览器 突然感觉更加容易理解和使用 所以就更换一下使用的浏览器 1 以 FireFox 火狐浏览器 和 csdn 的首页来示范 首先用火狐浏览器进入到 csdn 的首页 按 F12 找到 如下图 2 接下来就是找一个可选的链接

    2026年3月19日
    2
  • GitHub 爆火!500 个智能体开源项目合集,一站式灵感超市

    GitHub 爆火!500 个智能体开源项目合集,一站式灵感超市

    2026年3月16日
    3
  • 视觉显著性简介 Saliency Detection[通俗易懂]

    视觉显著性简介 Saliency Detection[通俗易懂]内容转移到博客文章系列:显著性检测1.简介视觉显著性包括从下而上和从上往下两种机制。从下而上也可以认为是数据驱动,即图像本身对人的吸引,从上而下则是在人意识控制下对图像进行注意。科研主要做的是从下

    2022年8月3日
    10
  • Google 离线地图_谷歌地图离线包下载手机版

    Google 离线地图_谷歌地图离线包下载手机版google离线地图展示和渲染由于项目的需要,在线地图无法满足业务需要,于是要做离线地图。经过一段时间的调研,最后选择了谷歌离线地图原因是通过现成的工具便可完成。感谢前人栽的树,在此整理总结。以下内容和代码是调研时准备的,仅供参考使用。离线地图制作技术:googlemapapi准备:googlemapapiv3离线版,地图切图工具,Google_Maps_API

    2026年1月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号