目录

  • 我的学习过程
  • Python中逻辑运算符
    • not
    • and
    • or
  • 位运算符
    • 取反(~)
    • 与(&)
    • 或(|)
  • 广播地址计算方法
    • IP地址
    • 子网掩码
    • 网络地址
    • 广播地址
      • 广播地址计算举例

我的学习过程

今天学习UDP的单播、多播、广播中,出现了广播地址的计算。这个涉及到十进制转二进制,位运算等概念。位运算按位取反、与、或让我想起了之前python中的逻辑运算符not、and、or。正好可以再回忆一遍。它们是否类似道理呢?

Python中逻辑运算符

在Python中,逻辑运算符与其他运算符相比,它的优先级最低,其次是成员运算符in/not in。

not

not 表达式

结果:结果的值只有True或者False。取not后表达式的相反值。表达式较长时注意加括号。

and

表达式1 and 表达式2 and 表达式3

表达式1的值:0,空串,或者False,或者其他数值。
表达式2,3同理。

结果:从左往右寻找,取第一个0或者空串或者False;若没有0,空串和False,则取最后一个表达式的值。

or

表达式1 or 表达式2 or 表达式3

表达式1的值:0,空串,或者False,或者其他数值。
表达式2,3同理。

结果:从左往右寻找,取第一个不是0或者空串或者False;若全是0,空串或False,则取最后一个表达式的值。

位运算符

取反(~)

~二进制数

取反操作:1取反成0,0取反成1,形成新的二进制数字串。

与(&)

二进制数1 & 二进制数2

使两个二进制数从末尾开始逐个对齐,长度短的,在开头补0对齐。

与操作:两个对齐的数均为1时取成1,其余取0。
例如:10001010&101011结果
10001010
00101011
结果:
00001010

或(|)

二进制数1 | 二进制数2

使两个二进制数从末尾开始逐个对齐,长度短的,在开头补0对齐。

或操作:两个对齐的数均为0时取成0,其余取1。
例如:10001010&101011结果
10001010
00101011
结果:
10101011

我的思考:
与和或,与python中的and和or有共通之处,与的两边都是1,结果才为1,python中and得两边都是true(或者1),结果才为True(或者1)。或同理。

广播地址计算方法

IP地址

引用百度百科
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址是网络协议地址。有IPv4和IPv6两种。IPv4转IPv6可行,而IPv6转IPv4不一定可行。

IPv4:
由32位二进制数组成。
形式:XXX.XXX.XXX.XXX
例如:
1.1.1.1 直接广播地址
255.255.255.255 受限广播地址

IPv6:
一般由32个十六进制数组成。总共有128位长。
两个逻辑部分组成:

  1. 一个64位的网络前缀
  2. 一个64位的主机地址(叫EUI-64,根据物理地址自动生成)

子网掩码

引用百度百科
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

网络地址

引用百度百科
网络地址(Network address)则是互联网上的节点在网络中具有的逻辑地址,可对节点进行寻址。

网络地址 = IP地址&子网掩码
注意:需要转成二进制数计算,计算结果再转十进制数。

广播地址

我的理解:
广播地址指一个工作站同时向网络中所有工作站发送信息的一个特定的地址。

广播地址 = 网络地址 | (~子网掩码)
注意:需要转成二进制数计算,计算结果再转十进制数。

广播地址计算举例

广播地址的计算方法(与运算、或运算)相关推荐

  1. java用流体加减乘除_任意输入两个数,完成加法、减法、乘法、除法运算!(加减乘除运算分别定义四个方法)_学小易找答案...

    [简答题]编写程序实现菜单设计 [简答题]一层平面图 [简答题]编写一个程序实现大小写字母转换 [简答题]利用循环语句输出一个五行的等腰三角形,如下图 [简答题]编写一个程序实现交换两个变量的数值. ...

  2. 常用技巧 —— 位运算 —— 位运算基础

    [与运算] 与运算常用于二进制的取位操作,其用符号 & 表示,相同位的两个数字都为1,则为1,若有一个不为1,则为0. 例如:00101 & 11100 = 00100 其会将两个十进 ...

  3. 使用位运算(与运算)代替%操作

    使用位运算(&与运算)代替%操作 %运算为取余运算 由于我们知道位运算比较高效,在某些情况下,当b为2的n次方时,有如下替换公式: a % b = a & (b-1)(b=2^n) 即 ...

  4. Home_W的位运算(位运算+预处理)

    Home_W的位运算1 题目链接: 传送门解题思路:这题有两种解题思路,一种就是\(n^2\times m\)的时间复杂度,还有一种就是经过预处理的时间复杂度为\(n^2\)的方法,先说第一种,大家直 ...

  5. 【概率论与数理统计】p1-4 前言、随机试验、样本空间、事件间的关系、事件的运算及运算法则

    B站视频 前言 概率论与数理统计是研究和揭示随机现象统计规律性的学科. (高等数学和线性代数研究的是确定性现象的数学学科.) 随机试验 我们通过研究随机试验来研究随机现象. 随机试验的定义: 相同条件 ...

  6. Python特殊运算符号(幂运算,除法运算)

    Python特殊运算符号 幂运算 除法运算 除法取余运算 除法保留整数运算 Python不支持 a++ a--运算 幂运算 5**2 = 25 除法运算 5 / 2 = 2.5 除法取余运算 5%2 ...

  7. C++解角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。若输入自然数为1,则不需要运算,运算次数为1(用循环和递归分别实现)

    角谷定理 题目描述 角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1. 现在请你编写C++程序求经过多少个数可得到自然数1.如: ...

  8. C# EMGU 3.4.1学习笔记(三)综合示例:形态学滤波(腐蚀/膨胀、开运算/闭运算、顶帽运算/黑帽运算)

    以下是<OpenCV3编程入门>中6.4.9的示例程序的C# + EMGU 3.4.1版: 有任何问题或疑问,欢迎交流探讨. using System; using System.Coll ...

  9. 膨胀 腐蚀 开运算 闭运算 matlab,11. 形态学膨胀、腐蚀、开运算、闭运算

    1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程. 2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用: ...

  10. 数值计算方法(零)——运算的要求+基本算法

    数值运算的要求 1.保证数值稳定型,即在迭代递推的过程中,误差应该逐渐减小,而不是逐渐放大 2.避免相近的两数相减,通过变换消除减法项 3.防止大数"吃掉"小数,注意保护重要物理参 ...

最新文章

  1. 关闭打开Excel弹出要安装“Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.vsto”加载项
  2. Linux下的USB总线驱动(04)——USB键盘驱动 usbkbd.c
  3. 【codevs2098】【Tyvj1625】化工厂装箱员,煞笔的人打煞笔的DP
  4. shell函数显式的返回值
  5. 进销存单机版 vb.net + access_某年某月_新浪博客
  6. 短视频剪辑技巧及运营方法 ,让你的视频更自然
  7. 2020年浙江大学金融考研经验分享
  8. opencv28:分水岭算法的图像分割
  9. 如何修改sql服务器名,修改计算机名并更新sqlserver中存储的服务器名称
  10. i7 1165g7和i7 9750h 哪个好
  11. deepin 下使用节能模式不降低屏幕亮度
  12. Unity 移动键Q的三种用法 For Mac,Windows类同
  13. 苏州大学计算机科学考研科目,苏州大学 计算机科学与技术研究生考试科目和考研参考书目...
  14. 嵌入式Linux自学笔记(二)——文件IO
  15. FlexiTimer2库下载 无偿 分享 仅供学习
  16. Redis如何应对并发访问
  17. 歌曲背後真實的故事 (看完这个故事我流泪了~~~)
  18. English--vowels_单元音
  19. 静态变量(类变量)和非静态变量(成员变量、实例变量)的区别
  20. 泛微文档存放在服务器哪个地址,泛微服务器配置

热门文章

  1. QComboBox下拉框给选项增加删除按钮
  2. 录制Gif动画的软件-ScreenToGif
  3. 吴恩达机器学习教程中文笔记目录
  4. hsql导入mysql_转-jira从HSQL迁移到MYSQL
  5. gitlab使用教程详细
  6. KMS服务器安装以及配置
  7. URPF(Unicast Reverse Path Forwarding)反向路径转发
  8. 增强网络安全意识——如何5分钟破解校园网上网账号和密码
  9. java 软件分析_优化、分析Java源代码的11款软件工具
  10. Understand(代码分析工具)的安装与使用教程