将char转换成int_c语言中int转char

将char转换成int_c语言中int转char网络上现在能搜到的其他答案都是针对于类似chara=’2′;intb=a-‘0’;//valueofbis2这样的问题。那么如果问题是chara=-2;intb=a;//valueofbis?这样的问题呢?在一些编译器下会进行符号位扩展,直接保留符号,将a看作signedchar,b的值会是-2,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

网络上现在能搜到的其他答案都是针对于类似

char a = ‘2’;

int b = a-‘0’;

//value of b is 2

这样的问题。

那么如果问题是

char a = -2;

int b = a;

//value of b is ?

这样的问题呢?

一般平时写代码的同学都会确定b的值是-2,但实际上b的值和编译器有关,如果直接当做-2用,很有可能让你的程序出现莫名其妙的错误。

因为在一些编译器下会进行符号位扩展,直接保留符号,将a看作signed char, b的值会是-2,

但是在一些编译器下,直接屏蔽了符号位扩展,将a先转换成unsigned char,然后再转换成int,得到的b值为254。

这时候如果我们还想拿到值为-2的int型变量,而且要保证在不同的编译环境下都可以得到值相同的变量,要怎么办呢?

一个很简单的解决方案就是在类型装换后手动加入判断

char a = -2;

…

int b  = a;

if(b > 127)

b -= 256;

经过这样处理,0~127 的范围内,char 和 int 是通用的,-1~-128 在转换成int时如果被去掉了符号位扩展,可以通过减去256来还原成有符号数。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm激活码永久2021_通用破解码

    webstorm激活码永久2021_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
  • 怎么设置pycharm环境_怎么设置环境光影响物体

    怎么设置pycharm环境_怎么设置环境光影响物体恍惚大半年过去了,我也大半年没接触Pycharm找个软件了,今天由于项目需要,重新打开恍如一个陌生软件。折腾几分钟也渐渐回忆起那些熟悉的操作,但这几分钟以及在这几分钟前的对于陌生畏惧,以后像尽力避免罢了。我曾在不舍昼夜在Pycharm前敲打代码,似乎也成为了许久的过往,实际只是半年多而已…牢骚结束,言归正传。虚拟环境搭建搭建一个虚拟环境是件十分麻烦的事情,再娴熟的人也要花费个把小时,因为有一大堆包需要下载。点击File—>CreateProject,选择新环境,按照如下目录搭建虚拟环境,不过

    2022年8月27日
  • DirectX修复工具增强版「建议收藏」

    最后更新:2019-9-4DirectX修复工具最新版:DirectXRepairV3.9增强版NEW!版本号:V3.9.0.29371大小:111MB/7z格式压缩,196MB/zip格式压缩,345MB/解压后其他版本:标准版在线修复版MD5校验码:DirectXRepair.exe/eeab9900cc4c10da8e6b786e5f79d09c…

    2022年4月18日
  • 手机一键装windows系统_git could not create work tree

    手机一键装windows系统_git could not create work treeGit简介Git是目前世界上最先进的分布式版本控制系统。可以简单理解为一种管理的工具,通过git可以将github上的代码拉到本地或者把电脑里的代码push到github。Windows环境下Git的下载与安装地址:https://git-scm.com/download这里选择64位的下载完成后,双击即可进入安装界面选择自己想要安装的位置,默认C盘,这里选择了D盘一些组件:(这里选择在桌面上创建git的图标Additionalicons–OntheDesktop,其他的默认即

    2022年8月25日
  • 生产环境数据库并发数的调整

    生产环境数据库并发数的调整在开发和测试时,我们往往不会很在意数据库相关的一些并发数的配置,因为开发和测试时,系统的并发量并不会很大,因此,是否正确设置这些参数也不会对结果造成什么影响但是,上生产环境后,系统的并发量大大提高,这时,没有注意数据库的并发数配置的话就会使数据库成为系统最终的并发瓶颈。根据我在实际项目中一段时间的并发测试后,发现关于数据库并发数需要配置的几个地方,希望跟大家分享一下,…

    2022年6月13日
  • 理解OVER子句

    理解OVER子句

    2021年11月26日

发表回复

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

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