二进制数的运算方法

二进制数的运算方法1.二进制数的算术运算二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。(1)二进制数的加法根据“逢二进一”规则,二进制数加法的法则为:0+0=00+1=1+0=11+1=0 (进位为1)1+1+1=1(进位为1)例如:1110和1011相加过程如下:(2)二进制数的减法根据“借一有二”的规则,二进制数减法的法则为:

大家好,又见面了,我是你们的朋友全栈君。

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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148012.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • libzplay开发【播放音乐】笔记1

    库方面的配置网上都有/**libZPlayexample**Playtest.mp3tosoundcardoutput.**/#include”stdafx.h”#include#include#include#include”libzplay.h”usingnamespacelibZPlay;intmain(in

    2022年4月6日
    33
  • 编程实现从键盘输入一个字符串输出这个字符串的长度_java获取字符串字节数

    编程实现从键盘输入一个字符串输出这个字符串的长度_java获取字符串字节数java从键盘输入字符串的方法发布时间:2020-06-2909:15:07来源:亿速云阅读:142作者:Leah本篇文章为大家展示了java从键盘输入字符串的方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先,导入java.util.*包。importjava.util.*;然后,你需要新建一个读取标准输入(键盘)的扫描器对象。Scanneri…

    2022年10月10日
    1
  • 浅谈PO模式

    浅谈PO模式浅谈PO模式概述设计原则功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入概述PO模式是自动化测试的一种常见设计思路,核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码

    2022年5月13日
    60
  • java中random的用法详解

    java中random的用法详解  java中存在两个随机函数,它们分别来自java.long.Math.random()和  java.util.Random();其中前者的适用范围比较小,完全可以被后者取代。一、java.lang.Math.random()方法的用法   ①、方法类型:      publicstaticdoublerandom();      此方法是一个无参,dou…

    2022年6月9日
    46
  • vb语法菜鸟教程_VS VB

    vb语法菜鸟教程_VS VB  VB.Net教程简介:VB.Net是一种简单,现代,面向对象的计算机编程语言,由微软开发,将.NET Framework和公共语言运行库的强大功能与作为Visual Basic标志的生产力优势相结合。VisualBasic.NET(VB.NET)是在.NETFramework上实现的面向对象的计算机编程语言。虽然它是经典的VisualBasic语言的演变,但是它不…

    2022年9月1日
    0
  • python画图命令

    python画图命令画两张图importmatplotlib.pyplotaspltplt.rcParams[‘font.sans-serif’]=[‘SimHei’]#用来正常显示中文标签plt.rcParams[‘axes.unicode_minus’]=False#用来正常显示负号plt.figure(1)plt.plot(x_data,y_data,color="red",linewidth…

    2022年5月11日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号