首页 > 其他分享 >学习嵌入式的第三天

学习嵌入式的第三天

时间:2024-04-01 21:00:51浏览次数:36  
标签:运算符 操作数 符号 int 数据类型 第三天 嵌入式 学习 表达式

学习嵌入式的第三天

数据类型

获取数据类型存储的大小

sizeof运算符  可计算出指定数据(变量,常量)的字节大小     
它的结果是 size_t类型的数据(本质上就是unsigned int或unsingned long 类型又系统和编译器决定),对应的占位符是 %zu

数据类型的转换

数据类型的隐式转换

  • 整数 自动转 浮点数
  • 小字节 自动转 大字节
  • 有符号 自动转 无符号(在计算机里补码形式计算,输出看你是需要有符号还是无符号)
  • short 和 char 会转换为 int 在运算 哪怕是那个 char类型也会转为int
  • 给变量赋值时,值会自动转为变量的类型 比如 int a = 3.12; 就会精度丢失,值变成3

Snipaste_2024-04-01_19-39-44.png

数据类型的强制转换

规则: (数据类型)数据 (int)3.14 或 (int)double类型 的变量

运算符

运算符: 运算符是一种特殊的符号,用以用于数据的运算、赋值和比较等。

操作数: 运算符运算的数据。

表达式: 表达式指的是一组操作数、运算符的组合,表达式一定具有值 ,一个变量一个常量也是表达式。

运算符4要素: 含义和功能、操作数个数、所组成表达式的值、该运算符有无副作用

运算符分类(按操作数个数): 一元运算符、二元运算符、三元运算符

运算符分类(按功能): 算术运算符、关系(比较)运算符、逻辑运算符、位运算符、赋值运算符、其他运算符

算术运算符

  1. 加减乘除和正常无异

  2. 取余:`表达式的值的符号(正负)与第一个操作数一直

     		取余运算符的操作数,必须都是整数
    

    3.自增 自减

​ 相同: 运算符在前后对操作数的副作用都是一样的(加一)

 不同:   如果运算符在后,取操作数自增或自减之前的值作为表达式的值
         如果运算符在前,组操作数自增或自减之后的值作为表达式的值

关系运算符

1. >   <  == <=  >=  !=   都是
2、都是两个操作数       13 <  12   a  == b
3.表达式的值是0或1(true或fault在c语言里 0 表示错误 非0 表示正确)是int 类型

逻辑运算符

1.逻辑与 &&    a<b && a<c
  表达式的值,两个操作数都为真(非0),表达式为1,否则为0  a<b这个表达式是&&它的操作数之一 
  逻辑与断路 :当第一个操作数为0(错误),第二个操作数不会被执行
  
 
2.逻辑非 ||  
  表达式的值:俩个操作数有一个为真,表达式的值就为真(0)
  逻辑非断路:当第一个操作数为真,第二个操作数不会被执行
  
3.逻辑非 !
  一元运算符
  表达式的值:操作数为真的,表达式为假,操作数为假,表达式为真  

位运算符

1.按位与 &  俩个二进制数的补码上同一位都为1则为1  否则为0  二进制数每一位一一对应判断
2.按位或 |  两个二进制数的补码上有一个为1就为1  否则为0
3.按位异或 ^  俩个二进制数的补码同一位都为1或0 则为0   否则为1

Snipaste_2024-04-01_20-25-49.png

上面的都有俩个操作数

1.按位区反 ~  一个二进制数上每一位取反    1变0  0变1
2.符号位左移 <<  一个二进制数上的每一位,向左边移  右边不0  移几位可以理解成乘以2的几次方
3.符号位右移  >>  一个二进制数上的每一位,向右边移  符号位为1则左边不1,符号位为0则左边补0   可以理解为除2的n次方    
  存在精度丢失    12>>> 变成了  12/8 1.6变成1   -9>>  变成了3   9/4  2.5+1变成3

Snipaste_2024-04-01_20-50-12.png

标签:运算符,操作数,符号,int,数据类型,第三天,嵌入式,学习,表达式
From: https://www.cnblogs.com/Wangleijava/p/18109353

相关文章

  • Node.js毕业设计基于HarmonyOS在线学习平台app(Express+附源码)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的迅猛发展,移动应用已经成为了人们获取信息、学习知识的重要渠道。在线学习平台作为现代教育技术的重要组成部分,为人们提供了便捷的学习途径......
  • HTML学习归纳1
            想通过这样的方式,记录自己的学习过程。将近期学习到的一些内容,不定期的做一些总结,方便有相同经历的人一起学习交流。    首先,在初步了解学习了HTML以后,先明白这是一门标签语言,逻辑架构上应该说是十分清晰的,我们需要的是掌握不同标签的用法。   ......
  • 基于阿基米德优化算法优化的核极限学习机(KELM)回归预测
    基于阿基米德优化算法优化的核极限学习机(KELM)回归预测文章目录基于阿基米德优化算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于阿基米德优化算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用阿基米德优化算法对核极限学习机(KELM......
  • 基于寄生捕食算法优化的核极限学习机(KELM)回归预测
    基于寄生捕食算法优化的核极限学习机(KELM)回归预测文章目录基于寄生捕食算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于寄生捕食算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用寄生捕食算法对核极限学习机(KELM)进行优化,并用于......
  • 基于黑寡妇算法优化的核极限学习机(KELM)回归预测
    基于黑寡妇算法优化的核极限学习机(KELM)回归预测文章目录基于黑寡妇算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于黑寡妇算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用黑寡妇算法对核极限学习机(KELM)进行优化,并用于回归预测.......
  • 基于未来搜索算法优化的核极限学习机(KELM)回归预测
    基于未来搜索算法优化的核极限学习机(KELM)回归预测文章目录基于未来搜索算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于未来搜索算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用未来搜索算法对核极限学习机(KELM)进行优化,并用于......
  • 【HTML】标签学习(下.4)
    (Hello!大家好哇,今天我们将继续学习HTML的相关知识,大家可以在评论区进行互动答疑哦~加油!......
  • CSS层叠样式表学习
    ---引入(Hello,大家好呀,欢迎大家和squirrel一起来学习CSS的相关知识,可以在评论区进行互动答疑哦,学无止境,加油!视频学习大家可以参考B站的黑马程序员pink老师的课程哦)一、CSS简介(目标:能够说出什么是CSS)CSS的主要使用场景就是美化网、布局页面的。 1.1HTML的局限性它只注......
  • 前端技术栈和Vue学习总结
    前端技术栈+Vue笔记ES6新特性1.let1)let声明有严格的局部作用域​ 此时"console.log("job="+job)"将报错 {varname="zy学习";letjob="java工程师";console.log("name="+name)console.log("job=&quo......
  • CSS 学习第三天 (伪·类选择器)
    #  概念什么是伪类? ——很像类,但不是类,是元素的特殊状态的一种描述#动态伪类 #常用的伪类选择器: :link  超链接未被访问的状态 :visited 超链接访问过的状态 :hover 鼠标悬停在元素上的状态 :active 元素激活 (按住左键不松开)的状态 :focus......