warning C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型

2023-10-31

这种警告出现在变量表示范围的临界状态
一: 溢出问题

int main()
{ 
    int a=-2147483648;
    return 0;                                   
}

在这里插入图片描述
在已经定义死int型的情况下,影响不大,但是下面的例子却会由很大的影响

二:类型转化

int main()
{ 
    if(2147483647==-2147483649)
    cout<<"2147483647==-2147483649"<<endl;
    return 0;                                   
}

在这里插入图片描述
运行结果:
2147483647==-2147483649
请按任意键继续. . .

原因:
2147483649已经超出了默认int的表示范围
此时,编译器会把它优化成无符号数,其机器码为:
100…01 (无符号数,真值为2147483649)
然后它前面的负号会对它做取反加一的操作
011…11 (2147483647)
所以会出现 2147483647==-2147483649的情况

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

warning C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型 的相关文章

随机推荐

  • 微信小程序期末作业-优购商城

    优购商城微信小程序 2021下半年微信小程序期末作业 下载链接在文末 首页有轮播图 点我下载资源 https download csdn net download weixin 43474701 57893310
  • Visual Studio中如何进行多线程调试

    多线程的应用通常使得我们的程序调试变得困难和复杂 但是也是有章法可言的 在设计和开发多线程的程序时 需要考虑的就是多线程之间的资源共享和相互协作 资源共享和协作通常使用互斥量和信号量机制进行解决 我们在调试多线程程序时 不能把程序运行过程仅
  • 报错处理:org.xml.sax.SAXParseException: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标

    在vue项目中配置user xml文件后 重新启动后台报错 org xml sax SAXParseException 不允许有匹配 xX mM lL 的处理指令目标 后面查阅后发现 xml文件是从别处粘贴过来的 没有顶格写 这样 达咩 这
  • Nginx相关配置

    启动Nginx 到nginx sbin目录下 nginx 1 反向代理的配置一 打开浏览器 在浏览器的地址栏输入 www 123 com 跳转到Linux系统tomcat上 我们访问一个网址的时候 浏览器会先查询本地有没有缓存这个网址对应的
  • 计算机牛人找工作-----可以参考(9个offer,12家公司,35场面试,从微软到谷歌2012)

    http www kuqin com job 20130111 333954 html 1 简介 毕业答辩搞定 总算可以闲一段时间 把这段求职经历写出来 也作为之前三个半月的求职的回顾 首先说说我拿到的offer情况 微软 3面 gt 终面
  • SDN介绍

    随着通信技术的不断发展 SDN已经逐渐成为整个行业注目的焦点 很多人认为SDN技术必将对传统网络带来一次划时代的变革 那么 什么是SDN 我们有应该如何理解和学习SDN 我们为什么需要SDN SDN的实现方式有哪些 SDN的未来发展方向是什
  • Mac安装Redis

    要在Mac上安装Redis 你可以按照以下步骤进行操作 打开终端应用程序 Terminal 可以在 应用程序 文件夹的 实用工具 目录下找到它 或者command 空格 输入ter然后直接回车 确保你已经安装了Homebrew 如果没有 请
  • 解决kibana启动时:3005 - wrong protocol being used to connect to the wazuh api 和 Wazuh API seems to be dow

    解决elasticsearch缺少模板问题 https mp csdn net editor html 112570396 后 依然不能正常检测到 wazuh api 状态 默认ip和端口 现在 解决kibana启动时 3005 wrong
  • Git教程---Windows安装及命令使用(详细例子)

    目录 一 Git的工作原理 二 Git下载及安装 三 Git配置 四 Git命令 示例 参考链接 一 Git的工作原理 Git有四个工作区域 其中三个工作区域工作在本地 一个工作区域工作在远程仓库 本地目录 工作区 平时存放项目代码的位置
  • 使用 Grid 进行常见布局

    grid 布局是W3C提出的一个二维布局系统 通过 display grid 来设置使用 对于以前一些复杂的布局能够得到更简单的解决 本篇文章通过几个布局来对对 grid 布局进行一个简单的了解 目前 grid 仅仅只有 Edge使用前缀能
  • 【windows系统】通过SSH Key访问服务器

    BG 废话不多说 直接上干货 1 终端输入命令 ssh username server 确认是否有自己的用户名 2 查看是否生成过SSH Key ls ssh 未生成过 提示 No such file or directory 生成过 提示
  • 旅游推荐平台

    作者主页 编程千纸鹤 作者简介 Java 前端 Python开发多年 做过高程 项目经理 架构师 主要内容 Java项目开发 毕业设计开发 面试技术整理 最新技术分享 收藏点赞不迷路 关注作者有好处 文末获得源码 项目编号 BS XX 05
  • Flask从入门到做出一个博客的大型教程(三)

    Flask从入门到做出一个博客的大型教程 三 在开始之前 先来看下项目的整体结构 flask app forms py init py routes py templates base html index html login html
  • 导入别人的安卓项目方法-需要修改的配置(Androidstudio)通用解决办法

    导入别人的安卓项目方法 一般导入别人的安卓项目后会遇到一些问题 下面是通用方法 绝大多数情况都能运行出来 步骤一 导入别人的项目报错 步骤二 Androidstudio新建一个空项目 步骤三 找到两个build gradle文件 这两个就是
  • 2021年江苏省职业院校技能大赛中职 网络信息安全赛项试卷--攻击日志解析

    2021年江苏省职业院校技能大赛中职 网络信息安全赛项 attack pacapng攻击日志分析 2021年江苏省攻击日志分析任务书 2021年江苏省攻击日志分析任务书解析 如果有不懂得地方可以私信博主 欢迎交流 交流群 603813289
  • java <? extends T>和<? super T>介绍(一)

  • python安装&配置环境(win10)

    python安装 配置环境 win10 1 打开python官网下载python安装包 操作步骤如下所示 点击 gt python官网链接 1 1 进入官网 1 2 进入下载页面 1 3 选择指定版本的python 本文选择python3
  • 高德地图JS API升级到2.0版本

    项目上反馈高德地图底图信息更新不及时 不利于进行点位规划 经研究发现高德地图JS API 1 4 15版本相对于2 0版本 确实地图切片上的标注信息较少 通过工单的形式询问高德的技术工程师认识到1 4 15版本数据更新有延迟 1 4 15版
  • cin与scanf cout与printf效率问题

    在竞赛中 遇到大数据时 往往读文件成了程序运行速度的瓶颈 需要更快的读取方式 相信几乎所有的C 学习者都在cin机器缓慢的速度上栽过跟头 于是从此以后发誓不用cin读数据 还有人说Pascal的read语句的速度是C C 中scanf比不上
  • warning C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型

    这种警告出现在变量表示范围的临界状态 一 溢出问题 int main int a 2147483648 return 0 在已经定义死int型的情况下 影响不大 但是下面的例子却会由很大的影响 二 类型转化 int main if 2147