news 2026/8/6 6:28:01

C语言函数实现提取字节中的某一位,写入某一位到字节中

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言函数实现提取字节中的某一位,写入某一位到字节中

提取字节中的某一位,num为要提取的字节,n为要提取字节中的第n位,返回置位第n位的值

// 提取 uint8_t 数值的第 n 位(索引从 0 开始,最低位为0) unsigned char get_bit(unsigned char num, unsigned char n) { // 1. 输入验证:确保 n 在 0~7 范围内 if (n > 7) return 0xFF; // 错误处理(根据需求调整) // 2. 位操作:右移 n 位后与 1 按位与,提取目标位的值 return (num >> n) & 0x01; }

写入某一位到字节中,num为要写入的字节,position为要写入的第n位,value为要写入位的值(0或1)

// 设置指定位的函数 unsigned char setBit(unsigned char num, unsigned char pos, unsigned char val) { // 确保 pos在 0~7 范围内 if (pos > 7) return num; //将num的第pos位清零,其他位保持不变 num &= ~(1 << pos); // 根据val的值(非0则1,0则0)左移pos位,然后与num进行或运算,从而将第pos位设置为val的值。 //这里利用了(val != 0)得到一个布尔值(0或1),然后左移pos位,这样就在第pos位上放置了0或1。 num |= ((val != 0) << pos); return num; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 12:45:26

2025年应届生转型指南:金融学转行AI,这些证书能帮你

作为金融学专业的应届生,如果想转行到AI领域,可能会感到迷茫,不知道从哪里开始。毕竟,课堂上学的大多是宏观经济、公司财务,和人工智能的算法、模型好像不太沾边。 其实,跨专业转型没有想象中那么难,关键是要找到一条清晰的学习路径。考取一些有含金量的证书,不仅能系…

作者头像 李华
网站建设 2026/8/6 4:13:27

Deepseek生成8088单板机的流水灯程序

1.Deepseek会话指令8位LED&#xff0c;端口地址800H&#xff0c;程序加载地址CS:IP 为0000:2000,用emu8086编写一流水灯程序2.DeppSeek生成的程序#make_bin#; BIN is plain binary format similar to .com format, but not limited to 1 segment; ; All values between # are d…

作者头像 李华
网站建设 2026/8/5 8:30:46

可靠运行的守护者:A5E45127009原厂配件的核心作用

在西门子罗宾康高压变频器的复杂架构中&#xff0c;每个指定编号的组件都承载着不可或缺的使命。A5E45127009作为经过原厂认证的关键备件&#xff0c;专为系统中特定的电路控制、信号隔离或电源管理功能而设计。其卓越的稳定性和精准的参数表现&#xff0c;是保障变频器整体性能…

作者头像 李华
网站建设 2026/8/4 23:47:02

ESP分区

电脑中的ESP分区是干什么的&#xff1f;UEFI&#xff08;统一可扩展固件接口&#xff09;与GPT&#xff08;GUID分区表&#xff09;的组合已成为现代计算机系统安装和启动的主流方式。然而&#xff0c;在这种新的安装方式下&#xff0c;一个名为“ESP分区”的组件显得尤为重要&…

作者头像 李华
网站建设 2026/8/5 9:37:29

规避交付风险,驱动生产效率:环形导轨选型核心逻辑与落地实施指南

摘要&#xff1a; 在自动化装配线、检测站及精密制造单元中&#xff0c;环形导轨系统已成为实现高效循环输送的关键基础设施。然而&#xff0c;一个常见的误区是仅关注导轨本身的品牌与价格&#xff0c;忽略了从设计源头到现场调试的全链路风险。本文旨在系统性地拆解环形导轨的…

作者头像 李华
网站建设 2026/8/5 11:44:46

vue3+vite mock引入使用

1、安装对应的包 npm install vite-plugin-mock mockjs -D2、配置 Vite vite.config.js import { defineConfig } from vite import vue from vitejs/plugin-vue import { viteMockServe } from vite-plugin-mockexport default defineConfig({plugins: [vue(),viteMockServe({…

作者头像 李华