二进制数的运算方法

简介: 1.二进制数的算术运算 二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。(1)二进制数的加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 (进位为1) 1+1+1=1 (进...

1.二进制数的算术运算
二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。

(1)二进制数的加法

  根据“逢二进一”规则,二进制数加法的法则为:
  0+0=0
  0+1=1+0=1
  1+1=0 (进位为1) 
  1+1+1=1 (进位为1)

  例如:1110和1011相加过程如下:

这里写图片描述

  (2)二进制数的减法

  根据“借一有二”的规则,二进制数减法的法则为:

  0-0=0
  1-1=0
  1-0=1
  0-1=1 (借位为1)

  例如:1101减去1011的过程如下:

这里写图片描述

  (3)二进制数的乘法

  二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:

  0×0=0
  0×1=1×0=0
  1×1=1

  例如:1001和1010相乘的过程如下:

这里写图片描述

  由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。

  (4)二进制数的除法

  二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。

  例如:100110÷110的过程如下:

这里写图片描述

  所以,100110÷110=110余10。

2.二进制数的逻辑运算
二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”运算。

  (1)逻辑“或”运算

  又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

  0+0=0或0∨0=0
  0+1=1或0∨1=1
  1+0=1或1∨0=1
  1+1=1或1∨1=1


  可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

  (2)逻辑“与”运算

  又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

  0×1=0或0·1=0或0∧1=0
  1×0=0或1·0=0或1∧0=0
  1×1=1或1·1=1或1∧1=1

  可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

  (3)逻辑“非”运算

  又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:


  可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

  (4)逻辑“异或”运算 
  “异或”运算,常用符号“”或“”来表示,其运算规则为:

  00=0 或 00=0
  01=1 或 01=1
  10=1 或 10=1
  11=0 或 11=0

  可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1
目录
相关文章
|
机器学习/深度学习 人工智能
手动实现一个扩散模型DDPM(下)
手动实现一个扩散模型DDPM(下)
984 2
|
数据可视化 C# 图形学
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
1052 0
|
消息中间件 API Go
微服务的进程间通信(IPC)
微服务的进程间通信(IPC)
198 6
|
9月前
|
测试技术 API 开发者
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
|
9月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
|
消息中间件 存储 NoSQL
如何用Redis实现延迟队列?
综上所述,通过Redis的有序集合和一些基本命令,我们可以轻松地构建出功能完善的延迟队列系统。根据具体需求,可以进一步优化和扩展,以满足高性能和高可靠性的业务需求。
362 1
|
Docker 容器
Docker | Docker技术基础梳理(总结篇)附思维导图
Docker | Docker技术基础梳理(总结篇)附思维导图
407 0
|
JavaScript 内存技术
nvm-windows安装和配置
nvm-windows安装和配置
1321 1
|
JSON Linux C语言
全网最权威唯一值得推荐的《C/C++框架和库》
关于C++框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
541 1
|
小程序 数据库
【微信小程序7】云开发中实时聊天系统的实现方法
【微信小程序7】云开发中实时聊天系统的实现方法
547 0