当前位置: 首页 > news >正文

dw做的网站/百度投稿平台

dw做的网站,百度投稿平台,深圳大型网络科技公司,球形网架结构厂家一、计算机中的进制:二进制与十六进制 1. 十进制(Decimal) 特点:用0-9表示,逢10进1。 例子:数字 123 表示 110221013100110221013100。 2. 二进制(Binary) 特点:用0和…

一、计算机中的进制:二进制与十六进制

1. 十进制(Decimal)
  • 特点:用0-9表示,逢10进1。

  • 例子:数字 123 表示 1×102+2×101+3×1001×102+2×101+3×100。

2. 二进制(Binary)
  • 特点:用0和1表示,逢2进1。

  • 例子:二进制 1101 转为十进制:

    1×23+1×22+0×21+1×20=8+4+0+1=131×23+1×22+0×21+1×20=8+4+0+1=13
  • 快速转换

    • 二进制 → 十进制:记住权值 20=1,21=2,22=4,23=820=1,21=2,22=4,23=8,逐位相加。

    • 十进制 → 二进制:不断除以2取余数,倒序排列。

      13 ÷ 2 = 6 余 1 → 最低位
      6 ÷ 2 = 3 余 0
      3 ÷ 2 = 1 余 1
      1 ÷ 2 = 0 余 1 → 最高位
      结果为 1101
3. 十六进制(Hexadecimal)
  • 特点:用0-9和A-F(A=10, B=11, ..., F=15)表示,逢16进1。

  • 例子1A3 转为十进制:

    1×162+10×161+3×160=256+160+3=4191×162+10×161+3×160=256+160+3=419
  • 二进制 ↔ 十六进制快速转换

    • 每4位二进制对应1位十六进制(不足补0)。

      二进制 1101 0011 → D3(1101=D, 0011=3)
      十六进制 F → 1111

二、为什么UDP需要校验和?

  • 核心目的:检测数据传输过程中是否发生位错误(如电磁干扰导致0变1或1变0)。

  • 设计特点

    • UDP本身不保证可靠性,但校验和是可选的安全基线。

    • 校验失败时,UDP直接丢弃数据包,不会重传。


三、UDP校验和的计算步骤

1. 数据分片
  • 将UDP报文(头部+数据)按16位(2字节)分组,不足则补0。

    示例数据(十六进制):
    源端口:11 22
    目的端口:33 44
    长度:00 08(8字节)
    校验和:00 00(初始值)
    数据:AA BB CC DD
    → 分片为:1122, 3344, 0008, 0000, AABB, CCDD
2. 反码求和
  • 反码(Ones' Complement):二进制数按位取反(0→1,1→0)。

  • 计算步骤

    1. 所有16位分片按二进制相加。

    2. 若结果超过16位(溢出),将溢出部分加到低位(循环进位)。

    3. 对最终结果取反码,即为校验和。

3. 实际计算示例
  • 示例数据(用十六进制简化计算):

    分片:0x1122, 0x3344, 0x0008, 0x0000, 0xAABB, 0xCCDD
  • 步骤1:十六进制直接相加

    1122+3344+0008+0000+AABB+CCDD1122+3344+0008+0000+AABB+CCDD

    转换为十进制计算:

    1122 = 4386
    3344 = 13124
    0008 = 8
    0000 = 0
    AABB = 43707
    CCDD = 52445
    总和 = 4386 + 13124 + 8 + 0 + 43707 + 52445 = 113,670
  • 步骤2:处理溢出

    • 113,670 转为二进制:11011101100000110(17位,溢出1位)。

    • 循环进位:将溢出的1加到低位:

      剩余16位:1011101100000110(十进制为 47,622)
      加溢出位:47,622 + 1 = 47,623 → 0xB9E7(十六进制)
  • 步骤3:取反码

    • 0xB9E7 的二进制:1011100111100111

    • 取反码:0100011000011000 → 0x4618

  • 最终校验和:0x4618。


四、验证校验和的接收方行为

  1. 接收方将整个UDP报文(含校验和)按同样步骤计算。

  2. 若计算结果为 0xFFFF(全1),说明数据未损坏。

  3. 否则,数据包被丢弃。


五、趣味记忆法

1. 二进制加法 → 堆积木
  • 想象每16位分片是一堆积木,总和超过高度(溢出)时,把多余的积木移到最下面。

2. 校验和 → 安全封印
  • 发送方将数据包“封印”(校验和),接收方验证封印是否完整。


六、动手实验

1. 用Python计算UDP校验和
import numpy as npdef udp_checksum(data):# 将数据按16位分组(假设data为字节流)if len(data) % 2 != 0:data += b'\x00'  # 补0words = np.frombuffer(data, dtype='>H')  # 大端序读取16位total = sum(words)# 处理溢出(循环进位)while total > 0xFFFF:total = (total & 0xFFFF) + (total >> 16)# 取反码return np.uint16(~total)# 示例数据
data = bytes.fromhex('1122334400080000AABBCCDD')
checksum = udp_checksum(data)
print(f"校验和: 0x{checksum:04X}")  # 输出 0x4618

总结

  • 进制基础:二进制和十六进制是计算机的“母语”,掌握快速转换是理解底层机制的关键。

  • UDP校验和:本质是反码求和,通过简单的位运算实现数据完整性检查。

  • 学习技巧:用代码和实际数据包验证理论,将抽象计算具象化。

http://www.whsansanxincailiao.cn/news/32030760.html

相关文章:

  • 免费自助建站系统平台 贴吧/精准获客
  • ps网站怎么做滑动背景图片/深圳百度
  • 建设银行 上海科技中心网站/软件开发需要多少资金
  • 网站可以做10000件事情吗/销售平台
  • 举例行业门户网站/会员卡营销策划方案
  • 沛县可以做网站的单位/太原seo优化
  • 上海网站seo排名/腾讯新闻最新消息
  • 综合b2b网站有哪些/seo快速优化技术
  • 做推文的网站/什么平台可以打广告做宣传
  • 网站推广优化外包公司/百度云官方网站
  • 中学网站源码/怎样做网站的优化、排名
  • 男生做网站运营的前景/竞价推广哪家公司好
  • 做网站的图片的内存/热门关键词查询
  • 行业协会网站建设的目的/单个药品营销策划方案
  • 重庆网站供奉战犯/怎么建网站平台卖东西
  • 企业网站建设一般要素/百度经验手机版官网
  • 怎么做网络棋牌网站/搜索引擎营销成功的案例
  • 河南建筑信息公共/四川seo推广方案
  • 商业网站怎么做/如何做个人网站
  • 企业手机网站建设效果/福州百度推广排名优化
  • 大淘客网站logo怎么做/seo是干什么的
  • wordpress主题圆角/优化公司怎么优化网站的
  • 怎样做邪恶网站/搜索引擎营销成功案例
  • 在哪里建立个人网站/百度官方电话号码
  • 做旅游网站的产品经理如何/软文拟发布的平台与板块
  • 汕头网站建设制作公司/无代码免费web开发平台
  • 响应式网站开发源码/网店运营教学
  • wordpress首页主题/seo也成搜索引擎优化
  • wordpress怎样分类目录添加标签/seo网址
  • iis默认网站打不开/网站建设技术解决方案