news 2026/3/6 6:10:32

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/3/1 15:47:46

基于Kotaemon构建金融行业智能客服的真实案例分享

基于Kotaemon构建金融行业智能客服的真实案例分享 在银行客服中心的深夜值班室里&#xff0c;一个客户焦急地询问&#xff1a;“我房贷逾期三天了&#xff0c;会影响征信吗&#xff1f;”传统客服系统可能只能机械地回复通用条款&#xff0c;而坐席人员则需要手动查询多个系统才…

作者头像 李华