运算符and操作符详解

汇编指令学习(AND,OR,XOR,NOT) 逻辑与运算,二进制位都为1时,才为1,否则为0,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax。逻辑或运算,二进制位都为0时,才为0,否则为1,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax。逻辑异或运算,二进制位相同0,不同为1,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax。逻辑取反运算,二进制位0变为1,1变为0,置eax为5,运行下面指令,结果会赋值给eax。与结果是 0100,十进制是4。结果是 0111,十进制是7。结果是 0011,十进制是3。 阅读详情

运算符

1.算数运算符

(1)基本四则运算符 + - * / %

(2)自增/自减运算符 ++

a++:先取a的值再++ ++a:先自增再取值

(3)增量赋值运算符 += -= *= /= %

2.逻辑运算符

(1)逻辑运算符主要有三个: && || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean
(2)逻辑与 &&
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false
(3)逻辑或 ||
规则: 两个操作数都为 false, 结果为 false, 否则结果为 true
(4)逻辑非 !
规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数).

3.位运算符

Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个:
& | ~ ^
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算.

(1)按位与 &:

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

(2)按位或 |:

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

(3)按位取反 ~:

如果该位为 0 则转为 1, 如果该位为 1 则转为 0

(4)按位异或 ^:

如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1 。

4.移位运算(了解)

移位运算符有三个: << >> >>> 都是按照二进制位来运算.

(1)左移 <<:

最左侧位不要了, 最右侧补 0

(2)右移 >>:

最右侧位不要了, 最左侧补符号位(正数补0, 负数补1

(3)无符号右移 >>>:

最右侧位不要了, 最左侧补 0

(4) 注意:

  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代
    替.
  4. 移动负数位或者移位位数过大都没有意义

条件运算符

(1)三目运算符:

是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法
条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3

int a = 10;
int b = 20;
int c= a < b ? a : b;//如果a<b为真 ,则取a,否则,取b

操作符详解

算数操作符

    位移操作符
    位操作符
    赋值操作符
    单目操作符
    关系操作符
    逻辑操作符
    条件操作符
    逗号表达式
    下标引用、函数调用和结构成员
    **算术操作符**
             +     -     *     /     %  ++  --
       (1)只有正数可以取模—%,返回的是整除之后的余数
           除了%操作符以外,其余操作符均可作用于整数和浮点数
      (2)对于/操作符,如果两个操作数都为正数,执行整数除法,而只要有浮点数执行的就是浮点数除法

位移操作符

<<     //左移操作符
>>     //右移操作符

注(1)左移操作符和右移操作符都只针对二进制位进行移位

左移操作符移位规则:左边抛弃、右边用零补

int num =10;
  00000000000000000000000000001010//num在内存中中的二进制
0 00000000000000000000000000010100//num左移一位产生的结果,
                                 //但实际上num在每被赋值的情况下,自身的值不会变化

    num<<1

右移操作符右移运算分两种
(1) 逻辑位移 :左边用零填充,右边丢弃
(2)算数位移 左边用原该值的符号位填充,右边丢弃

int num = -1;//我们假设num=-1,这样内存中存储-1的补码为32个全1
11111111 11111111 11111111 11111111
**算数右移**:左边用原该值的符号位填充
11111111 11111111 11111111 11111111
由于是负数,所以符号位为1,即左边补1
**逻辑右移**:左边补0
01111111 11111111 11111111 11111111

警告:对于位移运算符,不要移动负数为,这个是标准未定义的
例如

int num = 10;
num>>-1;//error

整形存储
(1)原码 反码 补码
将原码直接转成二进制

正数 (1)在计算机中也存的补码
(2)原码 == 反码 ==补码

00000000  00000000 00000000 00000001//原码==反码==补码
int main()
{
    int i=1;
    printf("%d\n",i<<1);
    return 0;
}

负数 (1)在计算机中存补码
(2)有符号数,最高位是符号位,1表示负数,0表示正数

10000000 00000000 00000000 00000001
11111111 111111111 11111111 11111110  //反码:符号位不变,其他位取反
11111111 111111111 11111111 11111111   //补码=反码+1

为什么负数在计算机中存补码,因为CPU只有加法器

#include<stdio.h>
int main()
{
   int i=1;
   int j=-1;
   printf("%d\n",i<<1);
   printf("%d\n",i<<1);
   printf("%d\n",i>>1);
   printf("%d\n",j>>1);
   printf("%d\n",j>>5);
   return 0;
}

位操作符

&  //按位与 0与任何数&都是0   && 逻辑与 用来判断真假
|   //按位或  有1就是1
^  //按位异或  相同为0,不同为1
PL/SQL比较运算符操作实例讲解 比较运算符用于一个表达比较到另一个。结果总是 TRUE,FALSE或NULL。下表列出了所有PL/SQL支持的比较运算符:操作实例源码:-- Created on 2018/3/22 by E.WANG declare --声明以字符常量 const_char constant char(15):='hello,world!'; --声明一个字符串变量 var_char var... 阅读详情

相关推荐

C++基础知识(四)—— 操作符/运算符

前面已经学习了变量和常量,我们可以开始对它们进行操作,这就要用到C++的操作符。有些语言,很多操作符都是一些关键字, 比如add, equals等等。C++的操作符主要是由符号组成的。这些符号不在字母表中,但是在所有键盘上都可以找到。这个特点使得C++程序更简洁,也更国际化。运算符是C++语言的基础,所以非常重要。     你不需要背下所有这一小节的内容,这些细节知识仅供你以后需要时参考 。

知秋一叶 1万+

计算机中的and运算是什么规则,计算机局域网中的逻辑And运算是怎么算的呀,急求!...

计算机局域网中的逻辑And运算是怎么算的呀,急求!來源:互聯網2009-09-25 07:50:16評論分類: 電腦/網絡問題描述:有关计算机中IP地址的子网掩码參考答案:举个例子:问题:主机 IP地址 子网掩码A 192.168.75.18 255.255.255.240B 192.168.75.146 255.255.255.240C 192.168.75.158 255.255.25...

weixin_39610594的博客 1万+

【SV】SystemVerilog位操作符详解:流操作符与移位运算符

⚠️ SystemVerilog中没有和用于循环移位! 循环移位必须通过位连接操作符实现。 3. 实际应用场景 应用场景 代码示例 说明 AES加密 MixColumns步骤中的位移 CRC校验 位处理中的循环移位 SPI协议 串行数据移位处理 帧同步 以太网帧同步标志处理 位反转 快速实现4位位反转 四、思维导图:SystemVerilog位操作符关系 #mermaid-svg-VgpJItAGF7HmiIzv {font-family:"trebuchet

m0_57945974的博客 1200

与运算(&)、或运算(|)、异或运算(^)的本质 及 用途,文末附加 位运算面试题

一:与运算符(&)and 1、运算规则: 0&0=0;0&1=0;1&0=0;1&1=1 即:两个同时为1,结果为1,否则为0 2、例如:3&5 十进制3转为二进制的3:0000 0011 十进制5转为二进制的5:0000 0101 ------------------------结果:0000 0001 ->转为十进制:1 即:3&5 = 1 3、用途: 1)判断 奇偶性 一个数 and 1 的结果就是取二进制的

LearnLHC的博客 1万+

在STM32上运行小波变换及神经网络算法——(一)单片机中小波算法编写

在单片机上实现离散小波变换的C代码,通过确定信号长度、小波分解层数、小波基名称后进行编写,并改写成了方便调用的结构体格式。

weixin_45400202的博客 988

CentOS7下Ollama部署全攻略:从安装到自定义端口配置(附国内加速技巧)

本文详细介绍了在CentOS7系统上部署Ollama的完整流程,包括环境准备、模型下载优化、服务化部署及端口配置等关键步骤。特别针对国内网络环境提供了加速安装方案和镜像源配置技巧,帮助开发者快速搭建稳定的本地AI运行环境。

mmm90的博客 289

AND运算

数据网络设备内部是运用数字逻辑来解释地址的。在创建或转发 IPv4 数据包时,必须从目的地址中提取出目的网络地址。这一步通过 AND 运算来完成。 对 IPv4 主机地址同其子网掩码执行 AND 逻辑运算,可以确定该主机相关联的网络地址。地址和子网掩码之间的 AND 运算得到的结果就是网络地址。 AND 运算 AND 运算是数字逻辑中使用的三种基本二...

weixin_33894640的博客 4250

一文读懂 SAP ERP / SAP S/4HANA 里的 Price List:概念、配置、定价流程与可运行 ABAP 示例

SAP ERP/S4HANA中的Price List解析 本文系统阐述了SAP定价体系中Price List的核心概念和实现机制。Price List并非独立的价目表,而是通过条件技术(条件类型、访问序列、条件记录)与Price List Type(PLTYP)共同作用的定价维度。文章详细说明了: Price List本质上是客户主数据中的PLTYP字段,作为定价查找键使用 定价流程中条件访问序列如何利用PLTYP查找特定价格 S4HANA与ECC版本在价格维护入口的差异 实际业务中如何通过不同PLTYP实

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 663

AND运算符

6.2  组合查询条件 在前一章提到的WHERE子句进行查询时,WHERE子句后面的搜索条件只是单一的。实际上,可以通过布尔运算符AND和OR,将多个单独的搜索条件结合在一个WHERE子句中,形成一个复合的搜索条件。当对复合搜索条件求值时,DBMS对每个单独的搜索条件求值,然后执行布尔运算来决定整个WHERE子句的值是True还是False。 6.2.1  AND运算符 在WHE

yixian918的专栏 3347

基于Python的车牌识别系统实现

本文将以基于Python的车牌识别系统实现为方向,介绍车牌识别技术的基本原理、常用算法和方法,并详细讲解如何利用Python语言实现一个完整的车牌识别系统。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 5万+

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

python and使用_通过实例解析python and和or使用方法

通过实例解析python and和or使用方法在python中and和or返回的值并不是True和false这么简单。虽然他们看上去和c++中的&&和||有些相似。在了解and和or之前,我们先要了解python中的True和False。在python里面,0、''、[]、()、{}、None为假,其它任何东西都为真。ok,在此前提下。看这样一个例子:我们大致可以总结出这样的一个规...

weixin_29066781的博客 1995

通用、可复用的 AI Skill 开发基本流程

-----name:唯一标识符(建议用领域-功能格式):自然语言描述触发条件(AI 依赖此判断是否激活)tags(可选):便于分类和搜索version:支持后续迭代步骤输出物1. 定范围触发场景描述2. 写元数据name3. 填内容结构化 Markdown 文件4. 做验证可运行 + 符合规范5. 去集成放入对应 IDE 目录6. 持续维护跟进框架更新通过这套流程,你不仅可以开发(Hooks 最佳实践)(原生 WebGL 优化)(Pandas/Numpy 高效写法)

lpfasd123的博客 734

C语言操作符详解+运算符优先级表格

在编写程序时,最常用到的就是操作符,本文将详细的介绍我们在编写程序时需要用到的操作符。本文八千多字,详细的介绍了C语言中几乎所有的操作符,希望对各位读者有所帮助。

月亮有痕迹诶的博客 5902

抖音 webmssdk 签名算法解析:X-Dynosaur / X-Gnarly / X-Bogus 生成原理

它只依赖设备指纹/环境编码与随机数,与 query 内容无关,因此可以独立于 Dynosaur/Gnarly 生成。

猫敷雪 208

【26美赛C题】Data With The Stars第三问[影响因素分析模型]思路与代码

本文针对2026美赛C题《Dancing with the Stars》第二问,提出了一套系统的影响因素分析框架。通过多元回归模型和固定效应模型,量化分析了明星特征(年龄、职业等)、舞者搭档和比赛周次对评分的影响,发现评委与观众偏好存在差异。研究采用方差分解评估舞者效应占比,通过最优年龄分析和交互效应检验揭示非线性关系。最后运用差异性检验和结构方程模型(SEM)比较评委与观众偏好,为比赛结果预测和选手优化提供量化依据。该分析框架可系统揭示比赛成绩的关键驱动因素。

一键难忘的博客 758

【C语言】操作符(运算符)详解(非常完整,涵盖各种类的操作符,每个操作符都有示例演示)

一、下文会叙述到的所有操作符的汇总和分类 二~十三、对各种操作符展开介绍及大量示例演示使用效果 十四、含重要的操作符优先级、结合性的整合表格,十分清晰好用

无限进步!!! 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

操作符(运算符)详解

🔥🔥操作符(运算符)详解 包含操作符(运算符)优先级顺序表❤️❤️

一怀明月的博客 9482

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C语言操作符详解

深度理解取余/取模运算,以及逻辑运算符, 位操作符,移位操作符,以及深入理解a++

k666499436的博客 8407

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C语言逻辑操作符和(移)位操作符详解及运算符优先级

在讲解操作符之前需要了解进制转换和原码、补码、反码的知识。在C语言中,操作符可以分为以下几类:由于其中大多数操作符过于简单,本章不再介绍,本章主要讲解其中比较难的逻辑操作符和(移)位操作符。逻辑运算符是来连接表达式并且判断该语句的“真假”。代码示例: 三:位操作符(重点+难点) 位操作符简而言之就是对二进制位(补码)进行操作的操作符 (正数的原码与补码相同) 5的补码:00000000000000000000000000000101 7的补码:00000000000000000000000

2302_80837091的博客 3460

python——and和or逻辑运算符用法详解

一、概述 python中的逻辑操作符and 和or,也叫惰性求值,由于是惰性,只要确定了值就不往后解析代码了。 二、用法说明 (一)and 用法 文字说明: 第一种情况(判断语句): 从右往左解析,只要第一个是False,就是False,后面的就不需要运算了,整个都是错误的,无论后面是正确还是错误。记住一句话所有的判断语句除非都为True,整个句子为True,但凡有一个为False,整个都是False。 举例说明: print (1 > 2 and 0 < 1)#False p

记录并分享学习安全的知识点.. 4万+

操作符详解

本文为小编对c 语言中常见的,较复杂的操作符进行了总结,并对较复杂的部分进行了详细解释

wtyzpy的博客 1032

MySQL Operators(比较操作符,逻辑运算符)

比较操作符 比较操作符返回TRUE(1)和FALSE(0)或者NULL = > < >= <= <> !=这几个不仅可以用于常量比较,还可以用于行比较 Name Description BETWEEN … AND … expr BETWEEN min AND max=(min <= expr AND expr <= max),取非只要...

Claroja 2219

c语言操作符详解

c语言运算法有以下几大类: 算术操作符 关系操作符 逻辑操作符 位操作符 赋值运算符 条件运算符 逗号运算符

博客小站 1806

关系、条件、逻辑操作符详解

| 就是或运算符,也就是或者的意思, || 也是⼀个双⽬操作符,使⽤的⽅式是 a || b , || 两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。&& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达 式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;C 语⾔中, 0 表⽰假,所有⾮零值表⽰真。

2302_80200271的博客 1370
上一篇: 2020-11-20
下一篇: 不能创建临时变量,实现两个数的交换
漫天 星辰
博客等级 码龄6年 13粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值