如何在结构体中定义只有一个比特的数据类型

shanewest1 2004-07-14 10:32:52
比方说
struct SChannelDef
{
uchar PGA_ratio;
uchar is_single;
uchar odd_is_positive;
}
其中is_single 是个判断位,我想让这个变量只占用一个比特,请问如何实现?
在线等.
...全文
294 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongfeeling 2004-07-14
  • 打赏
  • 举报
回复
没错,就是那么写。
不过如果你只有一个标志位的话,它不会被真正的分配一个bit,
内存的读写的最小单位和CPU字长有关系。
BluntBlade 2004-07-14
  • 打赏
  • 举报
回复
使用位域类型。
hongfeeling 2004-07-14
  • 打赏
  • 举报
回复
C语言有对应的成分。
好象可以写成如下形式:
struct strname
{
char flag :1;

}
后面的‘:1’就是分配一个比特的意思。不过是否真的分配了一个比特,就要视情况而定了。

希望我没写错它的形式。
peter9606 2004-07-14
  • 打赏
  • 举报
回复
让这个变量只占用一个比特
~~~~~~~~~~~~~~~~~~~~~~这个无论如何也办不到吧
peter9606 2004-07-14
  • 打赏
  • 举报
回复
可惜c语言中没有这个类型呀~
BluntBlade 2004-07-14
  • 打赏
  • 举报
回复
uchar is_single:1;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧