news 2026/10/13 7:00:08

log[16]:C语言基础——枚举位运算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
log[16]:C语言基础——枚举位运算

枚举

作用: 提高代码可读性,(用名字代表常量)

枚举是一种数据类型,初衷是将变量的值限定在列举出来的值的范围内

本质是一种基本类型(整型)

形式:

enum 枚举类型名 { 要枚举的常量值的名字 };

默认第一个常量的值为0,后面依次加1。

例:

表示红绿灯的状态(三种:红,绿,黄)

enum light { RED, GREEN, YELLOW };

枚举好处:

提高可读性;带类型检查;常量的相关性

枚举 与 宏定义:

都可以用符号表示常量,提高代码可读性;

枚举是当做一种数据类型,编译时检查,
宏定义是文本替,不做类型检查,预处理阶段。

typedef

类型定义 给已有类型起别名,不是创造新的类型

写法:

把之前定义变量的写法,前面加上typedef 则原先的变量名就成为类型的别名。

typedef int sint32_t; sint32_t a;
typedef struct { }stu_t;

位运算

位

二进制位,可以控制到二进制位的变化

6种:

与 & 一假则假 操作硬件时,一般用与运算清零

或 | 一真则真 操作硬件时,一般用或运算置位(1)

取反 ~ 真假相对

异或 ^ 同0异1 用途:加密、翻转

左移 << 相当于乘2

a<<n a表示要左移的数值,n表示要移动多少位。左移最高位丢弃,最低位补0

右移 >> 相当于除以2

右移运算,右移最低位丢弃,最低位补0

逻辑右移 (无符号类型)
高位补0
算术右移动 (看要移动的数据的类型,如果是有符号类型,此时就是算术右移)
高位补符号位

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 6:59:20

数据语义标准化:解决字段含义漂移的技术实践

1. 数据语义标准化的行业痛点在数据库运维的第七个年头&#xff0c;我处理过最棘手的故障不是性能瓶颈&#xff0c;而是某次数据迁移后出现的"字段含义漂移"——财务系统的"成本价"字段在报表系统中被解析为"销售价"&#xff0c;仅仅因为两个团队…

作者头像 李华
网站建设 2026/10/13 6:58:56

上位机开发日记 · 第 11 篇 · 打包与发布:PyInstaller 与 Nuitka

上位机开发日记 第 11 篇 打包与发布&#xff1a;PyInstaller 与 Nuitka阅读时长&#xff1a;约 5 分钟  难度&#xff1a;进阶  前置知识&#xff1a;第 10 篇&#xff08;日志与配置&#xff09; 代码写完了&#xff0c;本篇让它能装到别人电脑上跑。1. 交付前一天的经…

作者头像 李华
网站建设 2026/10/13 6:58:52

代码工具悄悄上传 .git 目录?从版本库泄露到安全排查的完整指南

这两年做代码安全相关的事&#xff0c;最怕看到的就是这句&#xff1a;“ZCode 疑似被抓到上传工作区/.git 记录到云端”。当时看到这个消息&#xff0c;我第一反应是后背发凉。做过几年开发的人都清楚&#xff0c;工作区里最不能见光的目录就是.git&#xff0c;它不仅仅是版本…

作者头像 李华
网站建设 2026/10/13 6:58:04

小白程序员必备:收藏!用Jev大模型轻松实现海量判断自动化

Jev是由TypeSafe AI推出的AI模型&#xff0c;专用于处理大量需要结构化判断的任务。它接收材料和预定义问题&#xff0c;返回程序可直接使用的选项、评分和概率。Jev适用于分流打标、简历筛选、AI质检、Agent内部路由和海量数据清洗等场景。使用Jev时&#xff0c;需要将问题拆解…

作者头像 李华
网站建设 2026/10/13 6:58:02

GitHub九月20个开源项目盘点:效率、开发、AI与自托管全收录

盘点这类事&#xff0c;我一向不标题党。GitHub 上每天新增仓库数以万计&#xff0c;真正能活下来、能派上用场、能在九月这个时间节点让人眼前一亮甚至“早点知道就好了”的项目&#xff0c;并没有榜单上看起来那么多。这篇文章我按功能需求分了四条线&#xff0c;每条线挑五个…

作者头像 李华
网站建设 2026/10/13 6:57:35

大模型扩展实战:横向、纵向与功能扩展的工程化策略

1. 模型扩展的上下文与核心挑战1.1 为什么“扩展”是一个持续性的工程命题很多人在第一次接触模型扩展时&#xff0c;会把它理解成一次性的操作——把参数调大、把数据加多、把层数堆深&#xff0c;然后就结束了。但实际做过几个项目之后你会发现&#xff0c;模型扩展更像是一个…

作者头像 李华