你真的了解表达式求值吗?
创始人
2024-05-03 16:44:15

表达式求值大家很熟悉特别是整型十进制的表达式求值。

那么char类型的表达式求值是怎么样的?

Eg:

上面程序输出的结果是多少?

a=127,b=3,那么c=130?,如果是这样想就大错特错了。那么c=?,计算这个就涉及到整型提升。

表达式中的字符型、短整型在使用之前转化为普通整型计算,这就叫整型提升。

表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器 (ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的 通用寄存器 的长度。

所以我们要将char类型转换为整型再计算。

如何进行整型提升呢?

负整数的整型提升:

正整数的整型提升:

我们已经知道了整型提升,上面的字符型加法我们就可以做了。

总结char 类型的相加

针对补码计算

先整型提升,再相加,截断,得到相加的char 类型的补码,整型提升后,得到 int类型

char 的取值范围

有符号的char取值 -128~127

无符号的char取值0~255

从上面可以看出计算机支持的是有符号的char

算术转换

如果某个操作符的各个操作数属于不同的类型,要转化为相同的类型进行计算,这些都是潜在转换的

Eg:

那算术转换的顺序是怎么样的

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...