uint 与 int 相加,事与愿违?

news2024/11/25 5:25:48

#include <iostream>
using namespace std;

int main()
{
    uint32_t uint_data = -22;
    int int_data = 0;
    if (uint_data + int_data < 0)
    {
        cout <<"uint + int负数小于0: ";
    }
    else
    {
        cout <<"uint + int负数大于0: ";
    }
    cout<<uint_data + int_data<<endl;
    return 0;
}

运行结果:

 从结果来看,uint + int 负数,变成了一个很大的数:4294967274, 如果项目程序中有这种代码,无疑是埋下巨坑,比如一个小白,他肯定会觉得0 + -22 = -22 < 0, 然后高兴的以为,这肯定会运行到小于0 的代码逻辑中,导致最后程序运行的结果事与愿违。

为什么uint正数加上int 负数会变成很大的数?

原因:

int 取值范围: -2^31 ~ 2^31-1

uint 取值范围:0 ~ 2^32 - 1, uint之所以是32次方,是因为无符号,相对int省去一个正负符号的占位

int 与 uint 相加,int会被转成uint 类型:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARM编程环境搭建教程

随着移动互联网的繁荣发展&#xff0c;物联网人工智能的兴起&#xff0c;嵌入式开发成为了越来越多IT人必须学习的内容&#xff0c;而在嵌入式芯片领域&#xff0c;ARM具有无可撼动的市场占有率&#xff0c;所以说&#xff0c;学习嵌入式不学ARM&#xff0c;不如回家卖红薯。 接…

C++ Reference: Standard C++ Library reference: C Library: cwctype: iswblank

C官网参考链接&#xff1a;https://cplusplus.com/reference/cwctype/iswblank/ 函数 <cwctype> iswblank int iswblank (wint_t c); 检查宽字符是否为空白 检查c是否为空字符。 空白字符是用于分隔一行文本中的单词的空格&#xff08;space character&#xff09;字符…

用色彩活出彩,能率Color Run上海之旅圆满结束

11月8日&#xff0c;以“用色彩&#xff0c;活出彩”为主题的能率|苏宁 Color Run活动&#xff0c;于上海圆满结束。此次活动由燃热领域代表品牌能率与苏宁易购集团联合举办&#xff0c;旨在通过有效户外运动&#xff0c;提倡健康快乐的生活方式&#xff0c;悦享多彩人生。 能率…

摄影网页设计制作 简单静态HTML网页作品 WEB静态摄影网站作业成品 学生DW摄影网站模板

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

C++语言基础篇

✅作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域新星创作者&#xff0c;阿里云专家博主&#xff0c;华为云云享专家博主&#xff0c;掘金后端评审团成员 &#x1f495;前言&#xff1a; 学长出的这一系列专栏适合有⼀点 C 基础&#xff0c…

PPT的“限制编辑”模式如何设置?

我们知道&#xff0c;Word文档和Excel表格都可以设置限制编辑&#xff0c;防止文件被随意改动&#xff0c;可是PPT文件里并没有“限制编辑”的选项&#xff0c;那要怎么设置呢&#xff1f; 其实&#xff0c;PPT的“只读模式”就等同于“限制编辑”模式&#xff0c;因为PPT文件…

【网页设计】期末大作业:化妆品主题——绿色大气的html5响应式化妆品护肤品肌肤网页设计(11页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Python解决图文验证码登录识别(1)

前言 本文是该专栏的第22篇,后面会持续分享python的干货知识,记得关注。 在信息爆炸的年代,爬虫对于在工作中进行信息的抽取,获取重要的数据源是一项非常不错的技能,可以说很久之前的爬虫几乎没什么难度,直到互联网的持续发展,陆陆续续出现了一大堆的反爬措施,给爬虫也…

【css 动画】css实现奔跑的北极熊

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;…

Verilog功能模块——Uart收发

摘要本文分享了一种通用的Uart收发模块&#xff0c;可实现Uart协议所支持的任意波特率&#xff0c;任意位宽数据&#xff08;5~8&#xff09;&#xff0c;任意校验位&#xff08;无校验、奇校验、偶校验、1校验、0校验&#xff09;&#xff0c;任意停止位&#xff08;1、1.5、2…

《机器学习实战》7.AdaBoost元算法提高分类性能

目录 1 基于数据集多重抽样的分类器 1.1 bagging&#xff1a;基于数据随机重抽样的分类器构建方法 1.2 boosting 2 训练算法&#xff1a;基于错误提升分类器的性能 3 基于单层决策树后见弱分类器 4 完整AdaBoost算法的实现 5 测试算法&#xff1a;基于AdaBoost的分类 6…

数据结构 - 二叉搜索树

目录 一、概念 二、实现 非递归删除 递归删除 三、总结 一、概念 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09; 也称二叉排序树&#xff0c;二叉查找树 二叉搜索树&#xff1a;一棵二叉树&#xff0c;可以为空&#xff0c;如果不为空&#xf…

内网工具viper的介绍与配置简介

文章目录0x01 介绍0x02 安装步骤一、首次安装二、更新版本三、修改密码四、反溯源配置五、关闭/重启六、安装目录介绍摘抄0x01 介绍 Viper(炫彩蛇)是提供图形化的操作界面,用户使用浏览器即可进行内网渗透. 0x02 安装步骤 一、首次安装 安装docker apt upodate apt instal…

Qt编写ffmpeg本地摄像头显示(16路本地摄像头占用3.2%CPU)

一、前言 内核ffmpeg除了支持本地文件、网络文件、各种视频流播放以外&#xff0c;还支持打开本地摄像头&#xff0c;和正常的解析流程一致&#xff0c;唯一的区别就是在avformat_open_input第三个参数传入个AVInputFormat参数&#xff0c;这个参数用于指定输入设备的格式&…

疯了!全网居然有人一次性把Java虚拟机HotSpot 给讲透彻了

Java虚拟机HotSpot HotSpot VM&#xff0c;相信大家多多少少都有所了解&#xff0c;它是目前使用范围最广的Java虚拟机&#xff0c;有着最终状态语言解释器的模板解释器。以及一直在不断迭代更新的垃圾回收器&#xff0c;还有极其超凡且精湛的即时编译器。 我认为&#xff0c…

迈动互联IBMS产品一项技术获国家专利

近日&#xff0c;迈动互联获得国家知识产权局颁发的专利证书。该专利为迈动IBMS产品应用领域的视频监控装置。近年来&#xff0c;迈动互联在IBMS可视运维平台产品持续加大研发投入&#xff0c;在IBMS领域新增9项专利&#xff0c;其中发明专利7项、实用新型2项。 迈动IBMS产品是…

centos7安装python3.7

1.安装依赖环境 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 如果找不到wget命令&#xff0c;输入yum -y install wget安装其依赖将会被安装 2.下载python安装包…

李珣同款爱心特效代码,加DIY教程,快拿去送给你喜欢的那个ta吧。

&#x1f468;‍&#x1f393; 作者&#xff1a;bug菌 &#x1f389;简介&#xff1a;在CSDN、掘金等社区优质创作者&#xff0c;全网合计6w粉&#xff0c;对一切技术都感兴趣&#xff0c;重心偏java方向&#xff0c;目前运营公众号[猿圈奇妙屋]&#xff0c;欢迎小伙伴们的加入…

【Linux修炼手册:基本指令(上)】

目录 1 ls 指令 2 pwd命令 3 cd 指令 4 touch指令 5 mkdir指令&#xff08;重要&#xff09; 6 rmdir指令 && rm 指令&#xff08;重要&#xff09; 7 cp指令&#xff08;重要&#xff09; 8 mv指令&#xff08;重要&#xff09; 9 cat 总结&#xff1a; 1 ls…

k8s部署Skywalking及java接入agent

Skywalking由国内开源 大体架构是这样子 我用的是dockerhub的镜像 docker pull apache/skywalking-ui:8.5.0 docker pull apache/skywalking-oap-server:8.5.0-es7 docker pull elasticsearch:7.9.01.部署 搞了一个简单的es用 apiVersion: apps/v1 kind: Deployment metadat…