所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

在单片机C语言中如何对变量的某一位进行操作或赋值?

发布时间:2020-04-12 09:00:37

资讯分类:单片机  赋值  c语言  变量  语言  下划线  列表
在单片机C语言中如何对变量的某一位进行操作或赋值?

在C语言中,一般有两种方法来操作位,一种是使用C语言提供的位运算操作符,一种是使用位域。

1、使用位域

在C语言中定义位域的一般格式如下:

1

2

struct 位域结构名

  { 位域列表 };

struct:在C语言中定义位域所使用的关键字是struct。

位域结构名:是一个C语言中的标识符,有字母、数字、下划线组成,而且第一个字符必须是字母或者下划线。

位域列表:组其中位域列表的形式为: 类型说明符 位域名:位域长度

下面的示例代码,通过位域来计算IEEE754浮点数编码中单精度数的最大值 、最小值和最小弱规范数。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#include <stdio.h>

typedef struct FP_SINGLE

{

unsigned __int32 fraction : 23;

unsigned __int32 exp : 8;

unsigned __int32 sign : 1;

} fp_single;

int main()

{

float x;

fp_single * fp_s = (fp_single *)&x;

fp_s->sign = 0;

fp_s->exp = 0xfe;

fp_s->fraction = 0x7fffff;

printf ("float 最大数: %len

留言与评论(共有 0 条评论)
   
验证码:
Top