当前位置:网站首页>TS(TypeScript) 二元运算符 + , - , * , / , % , << , >> , >>> , & , | , ^ 分析
TS(TypeScript) 二元运算符 + , - , * , / , % , << , >> , >>> , & , | , ^ 分析
2022-08-06 01:21:00 【简易解读】
知识点一:& (与运算符)
1.特点:二元操作符,操作两个二进制数据;两个二进制数最低位对齐,只有当两个对位数都是1时才为1,否则为0
2.案例:
int a = 3 & 2 ;
System.out.println(a); //结果为 2
3.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
2的二进制补码表示为:
00000000 00000000 00000000 00000010
运算:3 & 2
00000000 00000000 00000000 00000011
& 00000000 00000000 00000000 00000010
-------------------------------------------
00000000 00000000 00000000 00000010 二进制是2
知识点二:| (或运算符)
1.特点:二元操作符,操作两个二进制数据;两个二进制数最低位对齐,当两个对位数只要有一个是1则为1,否则为0
2.案例:
int a = 3 | 2 ;
System.out.println(a); //结果为 3
3.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
2的二进制补码表示为:
00000000 00000000 00000000 00000010
运算:3 | 2
00000000 00000000 00000000 00000011
| 00000000 00000000 00000000 00000010
-------------------------------------------
00000000 00000000 00000000 00000011 该补码对应十进制为3
知识点三:^ (异或运算符)
1.特点:二元操作符,操作两个二进制数据;两个二进制数最低位对齐,只有当两个对位数字不同时为1,相同为0
2.案例:
int a = 3 ^ 2 ;
System.out.println(a); //结果为 1
3.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
2的二进制补码表示为:
00000000 00000000 00000000 00000010
运算:3 ^ 2
00000000 00000000 00000000 00000011
^ 00000000 00000000 00000000 00000010
-------------------------------------------
00000000 00000000 00000000 00000001 该补码对应十进制为1
知识点四:~ (非运算符)
1.特点:一元操作符,
2.规则:生成与输入位相反的值–若出入0,则输出1;若输入1,则输入0
3.案例:
int a = ~ 2 ;
System.out.println(a); //结果为
4.分析:
2的二进制补码表示为:
00000000 00000000 00000000 00000010
运算:
~ 00000000 00000000 00000000 00000010
------------------------------------------
11111111 11111111 11111111 11111101 //该补码对应十进制为:-3
知识点五:<<(左移运算符)
0.形式: m << n
1.特点:二元操作符,m数字二进制向左移动n位的结果;结果相当于: m*(2的n次方)
2.案例:
int a = 3 << 2 ;
System.out.println(a); //结果为 12
3.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
运算:3 << 2
00000000 00000000 00000000 00000011
<< 2
-------------------------------------------
00000000 00000000 00000000 00001100 该补码对应十进制为12
知识点六:>> (右移运算符)
0.形式: m >> n
1.特点:二元操作符,m数字二进制向右移动n位的结果;结果相当于: m / (2的n次方) 的结果向上取整
2.案例:
int a = 3 >> 2 ;
System.out.println(a); //结果为 0
3.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
运算:3 >> 2
00000000 00000000 00000000 00000011
>> 2
-------------------------------------------
00000000 00000000 00000000 00000000 该补码对应十进制为0
4.注意: 最后的11向右移动两位,正好补上左边补上0; 所以结果为0
知识点七:>>> (无符号右移运算符)
1.二元操作符
2.特点:它使用0扩展,无论正负都在最高位补0
3.案例:
int a = 3 >>> 2 ;
System.out.println(a); //结果为 0
4.分析:
3的二进制补码表示为:
00000000 00000000 00000000 00000011
运算:
00000000 00000000 00000000 00000011
>>>2
------------------------------------------
00000000 00000000 00000000 00000000
————————————————
边栏推荐
- OpenWrt之kmod内核不兼容分析
- 网页使用微信扫码登录
- 新版本的特性
- C语言日记 10 if的嵌套语句(分支结构程序设计)
- ResNet论文及实现
- ERP inventory management
- (3.2) Metasploit kali - the exploit 】 【 basis (under) : MSF terminal using process
- 通过这份高级Android面试题,我斩获了15家互联网公司offer
- PyTorch笔记 - Attention Is All You Need (4)
- window.postMessage() Cross-domain communication between parent and child pages
猜你喜欢

PyTorch笔记 - Attention Is All You Need (4)

第十八天笔记

typescript69-类型声明文件概述

QT:用qt实现一个登录界面

17. Learn MySQL Transactions

Privacy Computing Overview

typescript71-已有的类型声明文件(内置声明类型文件)

entropic force

typescript74 - create your own type declaration files (provide declaration files for existing js)

海康联网网关平台级联EasyCVR出现通道无法上线现象,是什么原因?
随机推荐
Go 语言 strings 库常用方法
typescript69 - type declaration file overview
电子元件品牌与标识
deque(双端数组)——STL
Horizontal Federated Learning - Gradient Safe Aggregation 1
计算S=a+aa+…+aa…a
Day3: Multiple-choice questions required for the interview
PyTorch笔记 - Attention Is All You Need (4)
STP实验
熵力(entropic force)
解决mysql语句MAX()函数中出现的问题
datatables 封装传给后台的参数以及拆分穿回来的参数
typescript70-ts中的两种文件类型
关于近期轻量化部署任务的一个小结
Use WeChat to scan the code to log in
(3.2) Metasploit kali - the exploit 】 【 basis (under) : MSF terminal using process
window.postMessage() 跨域通信父子页面
多线程-实现方式
Kubernetes scheduler optimization
How to view code comments in Idea Modified by?