首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一元减号运算符如何与C++中的整数字面值一起工作?

一元减号运算符如何与C++中的整数字面值一起工作?
EN

Stack Overflow用户
提问于 2019-11-04 05:57:32
回答 1查看 241关注 0票数 1

我看过,默认情况下,十进制文字是签名的。

为了简单起见,假设int可以持有的值是整数- 128 ,127,而long可以容纳整数128。现在,如果我编码文字-128,会发生什么?我所知道的是,这里的文字只是‘128’,它不适合一个int,而是会进入一个long!还是一元减号操作符做了其他的事情?

那么,一元减号是如何处理整数的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-04 06:09:02

来自cppreference.com

整数文字的类型是第一种类型,从类型列表中可以匹配该值,这取决于使用了哪个数字基和哪个整数后缀。

当使用十进制而没有后缀时,可能的类型是intlong intlong long int。如果值(忽略减号)适合于long,而不适合于int,则该值的类型为long

在确定类型后,将以正常方式应用一元减号运算符。将一元减号应用于long会导致long (即使结果可能适合int)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58687940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档