将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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 记录ubuntu16.04版本安装过程中遇到的问题

    1.ubuntu源替换https://blog.csdn.net/m0_37924639/article/details/787796492.windows与vmwareubuntu文件夹共

    2021年12月28日
    47
  • 事务的四种隔离级别_事务默认的隔离级别

    事务的四种隔离级别_事务默认的隔离级别数据库事务的隔离级别有4种,由低到高分别为Readuncommitted、Readcommitted、Repeatableread、Serializable。Readuncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的工资是3.6万/月。但是发工资时老板不小心按错了数字,按成3.9万/月,该钱已经打到程序员的户口,

    2022年10月14日
    0
  • PAT乙级-坑点集合

    PAT乙级-坑点集合PAT乙级虽然挺简单但是坑不少。因为不给出测试数据,所以不知道怎么才能AC。以下几个题都是只做对了一部分,剩下的错误的点怎么想都不知道怎么才能过,所以整理一下,等回头再慢慢琢磨。1.1008数组元素循环右移问题1008数组元素循环左移2.1012数字分类1012数字分类3.1014福尔摩斯的约会1014福尔摩斯的约会4.1017A/B…

    2022年5月2日
    35
  • 如何使用jMeter发送两个逻辑上相关的HTTP请求

    如何使用jMeter发送两个逻辑上相关的HTTP请求

    2021年5月27日
    97
  • 网页自动跳转_网页跳转到其他网站

    网页自动跳转_网页跳转到其他网站所以解决方案如下自动解决方案:下载使用金山系统急救箱或者金山卫士或者金山网盾来一键修复

    2022年10月3日
    0
  • 如何把内网IP映射到公网IP

    如何把内网IP映射到公网IP 鸽子出品2017-12-0522:28:22我们讲了如何搭建网站,可是有很多小伙伴私信跟我说怎么映射,今天我就教大家如何把内网地址映射到公网!我们所需要的工具有: 内网IP(这个是品,也是必有的!) nat123(这是映射软件,百度上都能搜索到) 有些小伙伴会问: 这个软件是什么操作系统啊? 这个软件免费吗? 当然官网上有windows版…

    2022年5月18日
    123

发表回复

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

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