当前位置:首页 » 编程语言 » c语言bit

c语言bit

发布时间: 2022-01-28 20:06:42

1. c语言的bit类型

C语言中bit类型是“位”数据类型,一般在嵌入式软件中应用较多,用于IO口的控制,可以是单独申明位变量,也可以申请位结构数据类型,比如:

structst_flash{/*structFLASH*/

union{/*FLMCR1*/

unsignedcharBYTE;/*ByteAccess*/

struct{/*BitAccess*/

unsignedcharFWE:1;/*FWE*/

unsignedcharSWE1:1;/*SWE1*/

unsignedcharESU1:1;/*ESU1*/

unsignedcharPSU1:1;/*PSU1*/

unsignedcharEV1:1;/*EV1*/

unsignedcharPV1:1;/*PV1*/

unsignedcharE1:1;/*E1*/

unsignedcharP1:1;/*P1*/

}BIT;

}FLMCR1;

union{/*FLMCR2*/

unsignedcharBYTE;/*ByteAccess*/

struct{/*BitAccess*/

unsignedcharFLER:1;/*FLER*/

unsignedcharSWE2:1;/*SWE2*/

unsignedcharESU2:1;/*ESU2*/

unsignedcharPSU2:1;/*PSU2*/

unsignedcharEV2:1;/*EV2*/

unsignedcharPV2:1;/*PV2*/

unsignedcharE2:1;/*E2*/

unsignedcharP2:1;/*P2*/

}BIT;

}FLMCR2;

union{/*EBR1*/

unsignedcharBYTE;/*ByteAccess*/

struct{/*BitAccess*/

unsignedcharEB7:1;/*EB7*/

unsignedcharEB6:1;/*EB6*/

unsignedcharEB5:1;/*EB5*/

unsignedcharEB4:1;/*EB4*/

unsignedcharEB3:1;/*EB3*/

unsignedcharEB2:1;/*EB2*/

unsignedcharEB1:1;/*EB1*/

unsignedcharEB0:1;/*EB0*/

}BIT;

}EBR1;

union{/*EBR2*/

unsignedcharBYTE;/*ByteAccess*/

struct{/*BitAccess*/

unsignedcharEB15:1;/*EB15*/

unsignedcharEB14:1;/*EB14*/

unsignedcharEB13:1;/*EB13*/

unsignedcharEB12:1;/*EB12*/

unsignedcharEB11:1;/*EB11*/

unsignedcharEB10:1;/*EB10*/

unsignedcharEB9:1;/*EB9*/

unsignedcharEB8:1;/*EB8*/

}BIT;

}EBR2;

};

2. C语言bit型全局变量

可以试一下这个:先建一个头文件如:thehead.h(是保存为.h类型的)内空如下:
#ifndef
HEAD_H
#define
HEAD_H
uchar
bdata
OUT_temp;
sbit
AA
=
OUT_temp^0;
sbit
BB
=
OUT_temp^1;
sbit
CC
=
OUT_temp^2;
sbit
DD
=
OUT_temp^3;
sbit
EE
=
OUT_temp^4;
sbit
FF
=
OUT_temp^5;
sbit
GG
=
OUT_temp^6;
sbit
HH
=
OUT_temp^7;
#endif
再在每要用到上面内容的文件中加#include"thehead.h"语句。

3. c语言中如何定义一个bit

1、在c语言中定义bit型变量,可以使用位域来自定义。
位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:
struct 位域结构名
{ 位域列表 };
其中位域列表的形式为: 类型说明符 位域名:位域长度;

2、示例:通过位域来计算IEEE754浮点数标准中,单精度浮点数的最大值、最小值以及最小弱规范数。

#include<stdio.h>
typedefstructFP_SINGLE
{
unsigned__int32fraction:23;
unsigned__int32exp:8;
unsigned__int32sign:1;
}fp_single;
intmain()
{
floatx;
fp_single*fp_s=(fp_single*)&x;
fp_s->sign=0;
fp_s->exp=0xfe;
fp_s->fraction=0x7fffff;
printf("float最大数:%le ",(double)x);
fp_s->sign=0;
fp_s->exp=0x1;
fp_s->fraction=0x0;
printf("float最小数:%le ",(double)x);
fp_s->sign=0;
fp_s->exp=0;
fp_s->fraction=0x1;
printf("float最小弱规范数:%le ",(double)x);
return0;
}

4. c语言中32-bit是什么意思

32bit指的是CPU一次能处理的最大位数是32位
即32位处理器每次处理 4Byte(32bit)

5. bit用法——单片机C语言

bit 在C51里面类似C语言的bool,bit定义的是一个位数据类型,只能为0或1两个值

6. C语言中(bit(X[31],4))表示什么

bit(X[31],4),这是个自定义的函数。

它表示什么?
楼主应该给出该函数的代码。

7. C语言里如何定义任意bit长度的类型来着

下面就是一个例子,定义了一个结构体变量ch,包含多个位域。
struct{
unsigned con: 8;
unsigned forecolor: 4;
unsigned bgcolor: 3;
unsigned blink: 1;
}ch;

8. c语言 vc 单片机 定义bit数据类型

vc里面可以定义bit的数据类型么?
VC里不能定义bit数据类型,但是可以定义bool类型,bool类型占用4字节内存空间

要引用哪个头文件?
不需要引用

c语言存储的最小单元不是byte么?
一般来说是byte,但是像51这类单片机具有位寻址功能,所以允许使用bit类型

c里面定义的话是不是先要定义一个byte常量,然后再在这个byte上面进行位操作吧,也不能直接定义bit类型吧
keil c51里面可以直接定义bit类型,但是像vc这些pc上的应用程序不允许,bit类型是keil c51里面对标准c的一个扩展,在其他编译器上是无法编译的

9. c语言中bit型变量的问题

在Tubor C 和MSDN中没有bit 这个类型。但是在单片机中有。这和编译器有关。
(bit)0x81的结果应该是1,(bit)0x00的结果应该是0。

(bit)0xAB只要AB不同时为0,结果都为1。 (今天下午亲自用单片机测试过)

10. c语言bit操作问题

C语言支持位操作,示例如下:

/* 要操作的字节变量为i */
unsigned char i;

i = i & 0x7f; /* 把最高位置0,其余位不变 */
i = i | 0x80; /* 把最高位置1,其余位不变 */
i = i & 0xbf; /* 把第二位置0,其余位不变 */
i = i | 0x40; /* 把第二位置1,其余位不变 */

................................

热点内容
唱吧安卓版怎么样 发布:2024-11-16 13:39:43 浏览:335
抖音思维算法 发布:2024-11-16 13:31:02 浏览:591
沈阳解压店 发布:2024-11-16 13:28:36 浏览:170
集团云服务器 发布:2024-11-16 13:26:47 浏览:367
java源码关联 发布:2024-11-16 13:22:57 浏览:321
安卓应用保存在哪里 发布:2024-11-16 13:22:53 浏览:898
达摩数据库 发布:2024-11-16 13:12:47 浏览:964
我的世界bate版怎么开服务器 发布:2024-11-16 13:00:45 浏览:244
磁盘访问限制 发布:2024-11-16 13:00:33 浏览:289
安卓如何设计实现短信提醒 发布:2024-11-16 12:59:28 浏览:438