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

一个DW的计算

一个DW的计算

  • 1- 题目: 已知一个DW
    • 1.1 要求: 从DW中取出指定的位的值
      • 1.1.1 分析
      • 1.1.2 实现
      • 1.1.3 简化实现
      • 1.1.4 验证
  • 2- 题目: 已知一个DW
    • 2.1 要求: 从DW中的指定的P和S,取出指定的位的值
      • 2.1.1 分析
      • 2.1.2 实现

1- 题目: 已知一个DW

有图中所示一行信息,表示一个DW(4字节,32位)
(一个word是两个字节,所以DW(double word)就是4个字节)

已知 DW 值 payload=0x03000100

在这里插入图片描述

1.1 要求: 从DW中取出指定的位的值

分别取出P3,P2,P1,P0的值

P3表示该行中第[28:31]位的值
P2表示该行中第[24:27]位的值
P1表示该行中第[20:23]位的值
P0表示该行中第[16:19]位的值

1.1.1 分析

将DW的每一位的意义补充完整,得到该图
在这里插入图片描述

可以通过将DW的 值 payload 右移得到所需的指定 位 的值

payload = 0x03000100
(1)右移28位, 那么得到的值就只剩前4位,就是0x0,
也就是 bit[28:31]所指的值,就是P3, 即P3=0x0

(2)右移24位, 那么得到的值就只剩前8位,就是0x03,
也就是 bit[24:31]所指的值,就是P2和P3的值,只要和0xF相与,就能得到bit[24:27]的值,就是P2, 即P2=0x3

(3)右移20位, 那么得到的值就只剩前12位,就是0x030,
也就是 bit[20:31]所指的值,就是P1,P2和P3的值,只要和0xF相与,就能得到bit[20:23]的值,就是P1,即P1=0x0

(4)右移16位, 那么得到的值就只剩前16位,就是0x0300,
也就是 bit[16:31]所指的值,就是P0, P1, P2和P3的值,只要和0xF相与,就能得到bit[16:19]的值,就是P0, 即P0=0x0

1.1.2 实现

通过分析,可以得到如下的计算公式

P3_value = payload >> 28;
P2_value = payload >> 24 & 0xF;
p1_value = payload >> 20 & 0xF;
P0_value = payload >> 16 & 0xF;

1.1.3 简化实现

上一项需要写四行,比较麻烦

当P=3/2/1/0时, 合并这些重复,就是
P_value = payload >> (P+4)*4 & 0xF;

1.1.4 验证

将payload的值 对应到每一位,并验证P3/2/1/0值
在这里插入图片描述

2- 题目: 已知一个DW

有图中所示一行信息,表示一个DW(4字节,32位)
(一个word是两个字节,所以DW(double word)就是4个字节)

已知 DW 值 payload=0x03000100

在这里插入图片描述

2.1 要求: 从DW中的指定的P和S,取出指定的位的值

已知DW的值payload=0x03000000
每一个P里面都有4个S,P和S都是随机出现的,P和S结合后,就会生成一个数,有唯一的bit,
求这个bit对应的E中的bit的值,对应关系就是相差16个bit

2.1.1 分析

与P和S组合的bit 在E中的对应bit位 相差16个bit

在E中对应的bit计算公式
E_value_bit = P*4+S;

再将E右移对应的bit位,再与1相与,就能得到E对饮过的bit的值 E_value = E >> E_value_bit & 0x1;

2.1.2 实现

E_value_bit = P*4+S;
E_value = E >> E_value_bit & 0x1;

相关文章:

一个DW的计算

一个DW的计算 1- 题目: 已知一个DW1.1 要求: 从DW中取出指定的位的值1.1.1 分析1.1.2 实现1.1.3 简化实现1.1.4 验证 2- 题目: 已知一个DW2.1 要求: 从DW中的指定的P和S,取出指定的位的值2.1.1 分析2.1.2 实现 1- 题目: 已知一个DW 有图中所示一行信息,表示一个DW(…...

java.net.BindException Address already in use: NET_Bind解决

java.net.BindException Address already in use: NET_Bind 两种解决方法 两种解决方法 (1) kill 占用此端口的线程 查看报错的端口 netstat -ano | findstr 16825tasklist | findstr 1092 如果占用的程序不重要直接kill taskkill /f /pid 16825 (2) 修改启动端口 找一个没…...

JMM内存模型之happens-before阐述

文章目录 一、happens-before的定义二、happens-before的规则1. 程序顺序规则:2. 监视器锁规则:3. volatile变量规则:4. 传递性:5. start()规则:6. join()规则: 一、happens-before的定义 如果一个操作hap…...

大数据课程I2——Kafka的架构

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Kafka的架构; ⚪ 掌握Kafka的Topic与Partition; 一、Kafka核心概念及操作 1. producer生产者,可以是一个测试线程,也可以是某种技术框架(比如flume)。 2. producer向kafka生…...

vscode如何汉化

首先我们到vscode官网下载 链接如下: Visual Studio Code - Code Editing. Redefined 根据自己需要的版本下载就好 下载并且安装完毕之后 运行vscode 然后按快捷键 CTRLSHIFTX 打开安装扩展界面 搜索简体中文 安装就可以了 谢谢大家观看...

matlab保存图片

仅作为记录,大佬请跳过。 文章目录 用界面中的“另存为”用saveas 用界面中的“另存为” 即可。 参考 感谢大佬博主文章:传送门 用saveas 必须在编辑器中的plot之后用saveas(也就是不能在命令行中单独使用——比如在编辑器中plot&#xf…...

产业园区数字孪生3d可视化全景展示方案

随着数字经济的发展,数字技术给企业发展带来了机遇的同时,也为企业管理带来挑战。比如园区运维,不仅体量大,复杂的运维管理系统,落地难度也较高。那么如何通过数字化手段重塑园区运营,打通园区各业务数据孤…...

centos7 jupyter notebook 安装自动补全插件

激活juoyter notebook的安装环境 conda activate prod执行以下命令安装 pip install jupyter_contrib_nbextensions -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter contrib nbextension install --userpip install jupyter_nbextensions_configurator -i https://py…...

【算法——双指针】LeetCode 202 快乐数

题目描述: 思路:快慢指针 看到循环,我就想起了快慢指针的方法,从题目我们可以看出,我们需要模拟一个过程:不断用当前的数去生成下一个数,生成的规则就是将当前数的各位的平方累加; …...

AndroidManifest清单文件中,Activity的screenOrientation属性详解

screenOrientation用于控制Acivity的屏幕方向,参数有16个。 参数值功能自动旋转打开自动旋转关闭unspecified-1让系统决定Activity的方向,由传感器和系统设置共同决定四个方向不旋转landscape0强制为横屏,忽略传感器和系统设置不旋转不旋转portrait1强制为竖屏,忽略传感器和系统…...

Qt+Pyhton实现麒麟V10系统下word文档读写功能

目录 前言1.C调用python1.1 安装Python开发环境1.2 修改Qt工程配置1.3 初始化Python环境1.4 C 调用Python 函数1.5 常用的Python接口 2.python虚拟环境2.1Python虚拟环境简介2.2 virtualenv 安装及使用2.3 在C程序中配置virtualenv 虚拟环境 3.python-docx库的应用4.总结 前言 …...

TCP/IP 下的计算机网络江湖

〇、引言 在当今数字化时代,计算机网络宛如广袤江湖,涵盖着五大门派:物理层、数据链路层、网络层、传输层和应用层。每个门派独具技能,共同构筑着现代网络的框架。物理层宛如江湖基石,将比特流传输;数据链路层如武林传承,组织数据帧传递;网络层则像导航大师,寻找传送路…...

智能家居(4)---火灾报警线程封装

封装火灾报警线程实现智能家居中的火灾报警功能 mainPro.c&#xff08;主函数&#xff09; #include <stdio.h> #include "controlDevice.h" #include "inputCommand.h"#include <pthread.h>struct Devices *pdeviceHead NULL; …...

C#语音播报问题之 无法嵌入互操作类型SpVoiceClass,请改用适用的窗口

C#语音播报问题之 无法嵌入互操作类型SpVoiceClass&#xff0c;请改用适用的窗口 解决办法如下&#xff1a; 只需要将引入的Interop.SpeechLib的属性嵌入互操作类型改为false 改为false 即可解决&#xff01;...

C语言实例_获取文件MD5值

一、MD5介绍 MD5&#xff08;Message Digest Algorithm 5&#xff09;是一种常用的哈希函数算法。将任意长度的数据作为输入&#xff0c;并生成一个唯一的、固定长度&#xff08;通常是128位&#xff09;的哈希值&#xff0c;称为MD5值。MD5算法以其高度可靠性和广泛应用而闻名…...

Win11环境下 Unity个人版无法激活

网上教程大多都是在win10环境下运行&#xff0c;win11环境下遇到很多没有碰到的问题&#xff0c;故简单做个记录&#xff0c;也方便同样使用win11的朋友解决问题。 Unity2021无法打开 问题描述&#xff1a;下载Unity2021.3.4f1c1版本&#xff08;LTS&#xff09;后&#xff0…...

C++:模拟实现list及迭代器类模板优化方法

文章目录 迭代器模拟实现 本篇模拟实现简单的list和一些其他注意的点 迭代器 如下所示是利用拷贝构造将一个链表中的数据挪动到另外一个链表中&#xff0c;构造两个相同的链表 list(const list<T>& lt) {emptyinit();for (auto e : lt){push_back(e);} }void test_…...

k8s整合istio配置gateway入口、配置集群内部服务调用管理

一、 istio gateway使用demo kubectl apply -f - <<EOF apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata:name: ngdemo-gatewaynamespace: ssx spec:selector:istio: ingressgateway # use Istio default gateway implementationservers:- port:numbe…...

工程监测振弦采集仪采集到的数据如何进行分析和处理

工程监测振弦采集仪采集到的数据如何进行分析和处理 振弦采集仪是一个用于测量和记录物体振动的设备。它通过测量物体表面的振动来提取振动信号数据&#xff0c;然后将其转换为数字信号&#xff0c;以便进行分析和处理。在实际应用中&#xff0c;振弦采集仪是广泛应用于机械、建…...

(三)行为模式:2、命令模式(Command Pattern)(C++示例)

目录 1、命令模式&#xff08;Command Pattern&#xff09;含义 2、命令模式的UML图学习 3、命令模式的应用场景 4、命令模式的优缺点 5、C实现命令模式的实例 1、命令模式&#xff08;Command Pattern&#xff09;含义 命令模式&#xff08;Command&#xff09;&#xff…...

s2-pro效果展示:不同温度值下语音表现力对比(平稳/活泼/庄重)

s2-pro效果展示&#xff1a;不同温度值下语音表现力对比&#xff08;平稳/活泼/庄重&#xff09; 1. 专业语音合成新标杆 s2-pro作为Fish Audio开源的专业级语音合成模型镜像&#xff0c;正在重新定义文本转语音的标准。这个单页语音工具不仅支持纯文本直接合成&#xff0c;还…...

告别fdisk!用parted命令轻松管理4TB以上大硬盘(附实战案例)

告别fdisk&#xff01;用parted命令轻松管理4TB以上大硬盘&#xff08;附实战案例&#xff09; 当你的NAS存储阵列需要扩容到8TB&#xff0c;或是数据库服务器要配置12TB的RAID组时&#xff0c;传统的fdisk工具会在第一个指令就给你泼冷水——它根本不认识超过2TB的磁盘空间。这…...

Web 开发者零 AI 基础入门:Skill 开发实战全攻略

引言&#xff1a;提示词是即兴发挥&#xff0c;Skill 是专业标准前言&#xff1a;作为 Web 开发者&#xff0c;我们早已习惯「组件化开发、接口化调用、工程化部署」的工作流。面对 AI 应用落地&#xff0c;很多人误以为必须精通大模型、机器学习才能参与开发。事实上&#xff…...

提升协作效率:开源实时协作Markdown工具全解析

提升协作效率&#xff1a;开源实时协作Markdown工具全解析 【免费下载链接】codimd CodiMD - Realtime collaborative markdown notes on all platforms. 项目地址: https://gitcode.com/gh_mirrors/co/codimd 在数字化协作日益频繁的今天&#xff0c;一款能够让团队成员…...

OpenClaw配置优化:提升GLM-4.7-Flash响应速度的3个技巧

OpenClaw配置优化&#xff1a;提升GLM-4.7-Flash响应速度的3个技巧 1. 为什么需要优化GLM-4.7-Flash的响应速度 上个月我在本地部署了OpenClaw对接GLM-4.7-Flash模型&#xff0c;最初的使用体验并不理想。一个简单的文件整理任务需要等待近20秒才能开始执行&#xff0c;而复杂…...

2026 国内源码网站 TOP10:高速稳定 + 中文友好,开发者收藏版

对于国内开发者、站长、学生与创业团队来说&#xff0c;稳定高速、全中文、资源靠谱、无冗余广告的源码平台&#xff0c;能大幅降低开发成本、提升项目落地效率。2026 年实测筛选出国内综合体验 TOP10 源码站点&#xff0c;兼顾免费学习、商用部署、快速建站等场景&#xff0c;…...

Windows下OpenClaw全流程指南:接入Qwen3.5-4B-Claude完成办公自动化

Windows下OpenClaw全流程指南&#xff1a;接入Qwen3.5-4B-Claude完成办公自动化 1. 为什么选择OpenClaw做办公自动化 去年我接手了一个新项目&#xff0c;每周需要处理几十份会议录音转写的文字稿。手动整理不仅耗时&#xff0c;还经常漏掉关键行动项。当我第一次听说OpenCla…...

GD32F4系列定时器正交译码器实战:用STM32CubeMX的思路配置编码器接口

GD32F4定时器正交译码器实战&#xff1a;从STM32CubeMX到GD32的平滑迁移指南 在工业控制、机器人运动检测等领域&#xff0c;正交编码器作为位置和速度反馈的关键传感器&#xff0c;其信号处理能力直接影响系统精度。对于熟悉STM32生态的开发者而言&#xff0c;当项目需要迁移至…...

5分钟搞定foobar2000美化:foobox-cn让你的音乐播放器焕然一新!

5分钟搞定foobar2000美化&#xff1a;foobox-cn让你的音乐播放器焕然一新&#xff01; 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 厌倦了千篇一律的音乐播放器界面&#xff1f;想让你的foobar200…...

硅基神经植入体耐久性研究新突破

神经植入体包含构建在硅材料上的集成电路&#xff08;IC&#xff09;&#xff0c;即通常所说的芯片。这些植入体需要做到小巧且柔韧&#xff0c;以模拟人体内部的环境。然而&#xff0c;人体内的环境具有腐蚀性&#xff0c;这引发了人们对可植入硅IC耐久性的担忧。一支研究团队…...