c语言
文章平均质量分 62
btchengzi0
这个作者很懒,什么都没留下…
展开
-
buddy内存分配算法
1 普通内存分配方式的缺点以及解决方法:1.1 普通的动态内存分配方式(如c语言运行库的内存分配malloc、free):分配时,是在堆的空闲链表上,查找到第一块空闲的并且足够大的内存,然后对这块内存进行分割,分割一块足够的内存给调用者,剩余部分作为一个新的节点链接到空闲链表里面去;释放时,查找与被释放内存区域连续的节点,如有找到,则合并,如无,则作为一个新的节点放回空闲链表里面去。1.2原创 2017-06-23 16:45:57 · 3803 阅读 · 1 评论 -
CRC16校验码C语言实现
一、目的 阐述CRC16的原理,并以C语言代码实现。二、 校验码的作用 校验码用于校验数据的有效性/正确性。 校验码用原数据生成,并伴随原数据一起发送/保存,使用者拿到发送/保存的数据序列后,取出原数据部分,根据校验码生成规则生成校验码,与拿到的校验码进行比较即可判断数据是否有效/正确。三、 CRC校验码生成过程 任意一个数据序列都可以用二进制表示,如整数123可以用二进制表示为1111011B。...原创 2018-02-09 15:26:48 · 4154 阅读 · 0 评论 -
LDR和STR对C语言变量操作时注意事项
LDR和STR指令操作C语言变量时,首先要引入变量(符号)名,如:IMPORT C_VARIABLE然后,就可以使用如下方式获取变量地址: LDR R0, =C_VARIABLE 注意,此时编译的话,有2种情况:a. C_VARIABLE的地址刚好可以通过一个8位数移位获得,该指令会被翻译为:MOV R0, <变量的地址>b. 否则,将通过当前PC的值加上一个常数获得,...原创 2018-02-28 16:34:16 · 671 阅读 · 0 评论 -
椭圆生成快速算法
一、目的 文本旨在提供一种画椭圆的快速算法,使之可在不带乘法器的cpu上快速生成椭圆的点。二、定义 1. 走向:当前点的下一个点的方向 2. 主坐标:在走向上,起点到终点,变化量较大的分量坐标 3. 从坐标:在走向上,起点到终点,变化量较小的分量坐标三、 原理 1. 已知椭圆上的一点,要推算出下一点的位置,该位置的主坐标一定是沿着走向递增1个...原创 2018-08-09 15:03:10 · 2975 阅读 · 0 评论 -
整数开方算法
1 目的 本文阐述了常用的开方算法的原理,重点描述了整数开方算法的实现并给出实例源码,旨在提高不带FPU的处理器处理开发的效率。2 常用的开方算法2.1 逼近法 2.1.1 二分法逼近 选取一个平方值大于目标值a的值b,和一个小于目标值的值c,取中间值d=(b+c)/2的平方e与a比较,若偏大,设置b的新值为d,否则设置c的新值为d...原创 2019-03-27 16:18:17 · 6622 阅读 · 1 评论