大端和小端的判断及转换

当前的存储器,多以byte为访问的最小单元,当一个逻辑上的地址必须分割为物理上的若干单元时就存在了先放谁后放谁的问题,于是端(endian)的问题应运而生了,对于不同的存储方法,就有大端(big-endian)和小端(little- endian)两个描述。 字节排序按分为大端和小端,概念如下 ...

2018-07-26 08:29:14

阅读数:14

评论数:0

C语言中的各输出格式含义

%g是C语言printf()函数的一个输出格式类型,它表示以%f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式   printf()输出格式类型说明:   输出类型       格式字符意义   a        浮点数、十六进制数字和p-计数法(C99...

2018-07-25 13:53:49

阅读数:21

评论数:0

DSP 的双缓冲串口程序设计

         

2018-07-23 17:38:47

阅读数:25

评论数:0

C/C++浮点数在内存中的存储方式

       任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为  10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。...

2018-07-11 15:59:28

阅读数:12

评论数:0

十六进制转double

要明白如何将十六进制转换为float或double,需要了解浮点数的二进制存储和转换方式。float和double在存储方式上都遵从IEEE的规范,且float遵从IEEE R32.24,而double遵从R64.53。具体转换规则可以参考http://www.cnblogs.com/dolphi...

2018-07-11 14:56:29

阅读数:60

评论数:0

break与continue的的用法以及区别

/*break与continue的的用法以及区别1.当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一次循环还会继续执行。2. 如果有多层循环时,break只会跳出本层循环,不会跳出其他层的循...

2018-07-11 10:48:13

阅读数:27

评论数:0

十六进制的几种输出方式

/* time:2016.6.20 function: aim:测试十六进制的不同输出方式,%x,%X,%#x,%#X;*/#include <stdio.h> #include <stdlib.h> int...

2018-05-30 16:16:22

阅读数:94

评论数:0

关于VS2017中fopen、fscanf等函数无法使用的问题

本人最近用VS2017编写了一个C程序,用来读取串口数据,程序如下:#include <stdio.h>  #include <windows.h>  int main(void){ FILE *fp; cha...

2018-05-30 15:14:46

阅读数:219

评论数:0

使用C语言操作串口

其实这并不是一件很难的事,在自己动手实验之前,我自然是知道现代操作系统都将设备看成文件来处理,这无疑降低了程序员操作硬件的难度,使用标准IO就可以操作硬件。我上网查了一下“windows C语言 串口”,希望能得到一些示例,但是没有成功,我得到的不是用CreateFile就是用这个模块那个模块,甚...

2018-05-28 19:26:52

阅读数:44

评论数:0

使用C语言编程实现COM口数据的收发

#include <stdio.h>  #include <windows.h>#include   <stdlib.h>#include <s...

2018-05-28 19:22:39

阅读数:45

评论数:0

C语言中的枚举和联合体

一、枚举类型  enum:在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值。 枚举的定义枚举类型定义的一般形式为: enum 枚...

2018-04-09 16:47:29

阅读数:54

评论数:0

带参宏的定义

C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数,这点和函数有些类似。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。带参宏定义的一般形式为: #define 宏名(形参列表) 字符串 在字符串中含有各个形参。带参宏调用的一般形式为: 宏名(实参列表)...

2018-04-09 15:46:07

阅读数:33

评论数:0

关于uint8_t/uint16_t/uint32_t/uint_fast16_t

在嵌入式编程中经常遇到用uint8_t、uint16_t、uint32_t、uint_fast16_t之类的关键字定义一些整型变量,但是具体表示什么意思,并不是太清楚,只是把它当成int之类的整型变量定义关键字。在自己理解他们之前,先写一下在网上搜到的常见的对他们的解释。常见解释(都是个人见解...

2018-03-27 14:10:32

阅读数:164

评论数:0

sscanf用法

fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. fscanf :格式化读取,按照指定的格式串进行读取数据,并将数据初始化为指定的格式.所以在文本方式下才能有效的判断数据内容. fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用. ...

2017-11-14 10:05:17

阅读数:83

评论数:0

存储类型_malloc_typedef小结

一、存储模型 存储类型(storage class) 变量可以通过 生存周期(内存占用时间->静态与动态)。 作用域(有效区域->全局与静态)、连接点来描述。 auto 普通局部变量,是自动存储,变量会自动分配和释放,函数内的变量和复合语句内声明的变量,在系统运行时分配空间...

2017-05-12 22:50:40

阅读数:126

评论数:0

函数、指针、数组的组合 及结构体和共用体

1.数组与函数 1) 数组元素作参数 large(int x, int y){...}; large(a[2], a[3]);   1) 数组名作参数 计算数组中用户6个月的积分平均值 float aver(float b[6]) {....} float a[6]...; av...

2017-05-12 22:43:35

阅读数:359

评论数:0

如何测试大端存储和小端存储

/*1. 利用不同的数据类型占用空间不一样测试*/ #include int main() {     short int x;     char x1,x2;     x = 0x1122;     x1 = ((char *)&x)[0];    //低地址 ...

2017-05-12 22:36:07

阅读数:110

评论数:0

C语言register关键字——最快的关键字

C语言register关键字—最快的关键字  (2012-08-24 14:09:24) 转载▼ 标签:  杂谈 分类: C/C     register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻...

2017-05-12 22:30:35

阅读数:157

评论数:0

指针与数组总结

总结: 一维数组与指针 type  a[N]]; sizeof(a[0])==>  sizeof(a)==> N*type  sizeof(&a)==> 4 a[0]+1==>值加1 &a[0]+1 ==>加一个元素 a+1 ==>...

2017-05-09 19:27:04

阅读数:119

评论数:0

指针、数组、函数阶段小结

引子:数据在内存中是如何存储的,又是如何读取的?内存编号就是内存的地址(内存中每个字节都有一个编号,即地址) 1.概念: 地址:内部存储器的编号,称为地址。如变量a的位置编号,变量b的位置都是指针。 指针变量:专门存放地址的变量称为指针变量。 地址、指针、指针变量都称为指针。 一、变量的...

2017-05-09 19:24:01

阅读数:111

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭