码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • c++运算符


    文章目录

    • 运算符
      • 位运算符
      • 类型转换

    运算符

    #include
    using namespace std;
    
    int main()
    {
    	// 算术运算符
    	cout << "1 + 2 = " << 1 + 2 << endl; 
    	cout << "1 + 2 - 3 * 4 = " << 1 + 2 - 3 * 4 << endl;
    	
    	short a = 3;
    	long long b = 22345;
    	cout << "a * b = " << a * b << endl;  // short 会转化为long long 再计算
    	
    	// 复合运算
    	sum += a;
    
    	// 递增递减运算符
    	int i = 0;
    	j = ++i; //j = 1,先+再返回
    	k = i++; //k = 0,先返回再+
    	
    	// 逻辑运算符
    	!(1 < 2 && 3 > 5); //逻辑非
    	1 < 2 && 3 > 5; //逻辑与 
    	1 < 2 || 3 > 5; //逻辑或
    	// 短路求值
    	// 逻辑运算会从左边开始计算,如果左侧可以决定结果,则右侧不做计算。
    
    	// 条件运算符
    	i = 0;
    	cout << (1 < 2 && ++i) ? "true" : "false" << endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    位运算符

    在这里插入图片描述
    移位运算
    在这里插入图片描述
    在这里插入图片描述

    unsigned char bits = 0xb5;
    cout << "bits左移两位:" << (bits << 2) << endl; //乘4
    cout << "bits左移两位:" << hex << (bits << 2) << "\n" << dec << (bits << 2) << endl; //hex和dec是控制输出流
    
    • 1
    • 2
    • 3

    位逻辑运算
    在这里插入图片描述
    在这里插入图片描述
    判断此处~uc1是多少:
    int类型–》看首位–》1(负数)–》负数是以补码形式存储–》补码求源码(-1再取反)–》最后四位(1010–>1001–>0110)–》所以 ~uc1 其实是 -6

    类型转换

    隐式类型转换

    short s = 12.3 + 25;
    cout << "s = " << s << endl;
    cout << "s长度为:" << sizeof(s) << endl;
    cout << "12.3 + 25 = " << (12.3 + 25) << endl;
    cout << "12.3 + 25 长度为:" << sizeof(12.3 + 25) << endl;
    //输出
    // s = 37
    // s长度为:2
    // 12.3 + 25 = 37.3
    // 12.3 + 25 长度为:8
    
    // 关系运算中的类型转换
    int a = -1;
    cout << ((0 < a < 100) ? "true" : "false") << endl; //true,因为逻辑运算从左向右,0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    强制类型转换

    int total = 20, num = 6;
    double avg = total / 6;
    cout << avg << endl;
    
    // c语言风格
    cout << (double)total / num << 6;
    
    // c++风格
    cout << double(total) / num << 6;
    
    //c++强制类型转换运算符
    cout << static_cast<double>(total) / num << 6;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    『牛客|每日一题』模板队列
    云原生 | Docker - [Dockerfile]
    StyleLint入门配置
    C++笔记之不同buffer数量下的生产者-消费者机制
    web网页设计期末课程大作业——汉中印象旅游景点介绍网页设计与实现19页面HTML+CSS+JavaScript
    c++ - 第14节 - c++中的多态
    京东获得JD商品详情 API 返回值说明
    hadoop小知识
    Spring 源码(14)Spring Bean 的创建过程(5)
    mysql 使用id in(‘1,2‘) 的时候,只能查到id=1的数据的解决方法
  • 原文地址:https://blog.csdn.net/weixin_46483785/article/details/133707027
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号