c
夜石
韦海涛
展开
-
md5口算算法
MD5口算算法对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+4翻译 2017-09-17 16:05:34 · 4462 阅读 · 0 评论 -
zigbee(题型整理4)
题目:Zigbee节点板通电,程序开始运行时D5闪烁,2S后该LED变常亮,其余灯灭单击模块上的SW1(按下时间不超过1秒),D5、D6、D3、D4、依次闪烁1s后变常亮;长按“SW”,所有灯灭本题难点是判断短按还是长按,所以我使用了一个计时器来判断。 核心代码是判断,返回tempuint8 scankey(){ if(KEY1==0) { delay(100); cou原创 2017-09-08 22:34:16 · 822 阅读 · 3 评论 -
zigbee(题型整理3)
题目:点对点通信,节点A的按键控制节点B的跑马灯启,停(按照D4、D3、D6、D5间隔1s)。当停止时,跑马灯需要保持原有状态。再按下时从当前位置开始跑马灯这道题的难点主要为需要骤停这步,对于接受发送方面就不啰嗦了,直接看到我们的zigbee怎么做到不用中断做到骤停#include "hal_defs.h"#include "hal_cc8051.h"#include "hal_int.h"#原创 2017-09-08 22:13:19 · 4033 阅读 · 2 评论 -
zigbee(题型整理2)
zigbeeCC2530的按键触发题型 题目:单片机按键按下抬起led灯点亮按键按下led灯点亮 按键按下抬起led灯点亮#include <ioCC2530.h>#define uint unsigned int#define uchar unsigned char#define LED1 P1_0 //LED1为P1.0口控制#define KEY1 P0_4 //K原创 2017-09-08 21:53:02 · 1019 阅读 · 0 评论 -
zigbee(题型整理1)
zigbee CC2530的串口的发送的题型题目:单片机,通过串口输出自己的姓名和学号主要核心代码为配置zigbee串口的寄存器那里,一般为固定性的代码#include <ioCC2530.h>#include <string.h>#define uint unsigned int#define uchar unsigned charuint count=0;void init(void)原创 2017-09-08 21:41:47 · 3942 阅读 · 1 评论 -
zigbee点对点串口收发
#include "hal_defs.h"#include "hal_cc8051.h"#include "hal_int.h"#include "hal_mcu.h"#include "hal_board.h"#include "hal_led.h"#include "hal_rf.h"#include "basic_rf.h"#include "hal_uart.h" #inc原创 2017-06-11 19:47:42 · 3262 阅读 · 0 评论 -
调节zigbee自带的led亮度
#include <ioCC2530.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#define uint unsigned int#define uchar unsigned char //定义控制灯的端口#define LED1 P1_0 //定义LED1为P10口控制#define KEY1 P0_0 //KEY1为P00口控制//函数声明v原创 2017-04-24 21:37:31 · 3811 阅读 · 0 评论 -
利用Spring-boot部署电信IOT平台北向应用
因为最近刚完成传感器的编写以及南向应用的对接,后来查看了一下电信北向应用的开发,发现官方只提供了一个JAR包支持,并且需要HTTPS级的IP支持,所以我们准备一下环境:部署PC:腾讯云主机系统版本:windows server 2016 Datacenter环境要求:java JDK8、TomCat8.5、IDEA 2018。 为何要使用Spring-boot...原创 2018-09-25 16:30:27 · 4812 阅读 · 9 评论 -
从整数转制二进制学数据结构(栈)
数据结构是一个计算机学生必须修的一门课程,按理来说每个cs/se学生都应该自学这门课程接下来我们用一个很简单的例子去学习一下栈的相关知识。首先用一个最简单的方法:使用数组存放二进制#include <stdio.h>int main(void){ int a=0; int numOfArray[100]={0};//一个很好的习惯先初始化再使用 int i=0; s...原创 2018-02-10 10:36:06 · 369 阅读 · 0 评论 -
数据结构与算法(单向链表)
/* Name: 线性单向链表的操作 Copyright: Author:abit Date: 07/01/17 15:41 Description: 创建,打印,删除,添加,排序 ,查询 */#include <stdio.h>#include <stdlib.h>#define N 10#define ERROR 0 struct Node原创 2017-03-26 11:51:19 · 1623 阅读 · 0 评论 -
数据结构与算法(双向链表)
#include <stdio.h>#include <stdlib.h>//用户自定义双向链表typedef struct node{ int num; struct node *prior;//前指针 struct node *next;//后指针}stud;//指针函数stud* create(int n){ stud *p,*h,*s;原创 2017-06-11 19:33:54 · 2789 阅读 · 0 评论 -
数据结构与算法(二叉树)
这两天在跟着《零基础学算法》这本书学复杂数据结构,对于二叉树而言有三种历遍方式1.前序历遍(DLR) 2.中序历遍(LDR) 3.后续历遍(LRD) 而对于三种历遍方式是基于递归的。 接下来我们观察他们是如何运作的1.前序历遍(DLR) 我们看到对于前序历遍来说他的函数是这样的void BinTree_DLR(ChainBinTree *bt,void (*oper)(ChainBinTr原创 2017-07-26 21:52:02 · 1774 阅读 · 1 评论 -
数据结构与算法(贪婪算法)
贪婪算法的最直观地实现是找零钱。 已知现存面额为100,50,20,10,5,1,0.5,0.2,0.1面额的纸币与硬币,现在我们算出超市找零方案。#include <stdio.h>#include <conio.h>#define MAX 10int value[MAX] = {1000,500,200,100,50,20,10,5,2,1};int num[MAX] = {0};in原创 2017-09-11 20:46:51 · 499 阅读 · 0 评论 -
c语言中的自++问题
本人是大一新生,在学习c语言过程中看到一个问题,在自己写完代码时候发现和网上的思路不一样,于是自己运行以下发现问题问题:编写一段程序,像右边这样根据输入的整数,循环显示0123456789,显示的位数和输入的整数值相同。网上的程序是:#include <stdio.h>int main(void){ int i,j,n; j=1; printf("请原创 2016-10-28 20:01:21 · 485 阅读 · 0 评论 -
有个空语句的问题
大牛帮我看一下下面的代码怎么优化;#include <stdio.h>int i;int n=0;int sortarray(int a[10])//正序加 { for(i=n;i<10-n;i++){ (a[i+1]<a[i])?(a[i+1]=a[i]+a[i+1]-(a[i]=a[i+1])):a[i]=a[i]; (a[9-i]>a[10-i]原创 2016-12-01 20:10:31 · 551 阅读 · 0 评论 -
c语言指针一个日期的问题
以下是问题:编写如下函数,将*y年*m月*d日的日期,修改为前一天或者后一天的日期。viod decrement_date(int y,int *m,int *d){/….*/}viod increment_date(int y,int *m,int *d){/….*/}#include <stdio.h>int days(int y,int m){ if(m==2){ i原创 2016-11-25 18:20:57 · 936 阅读 · 0 评论 -
100!的0问题
100!后面有多少个0?以下是网上的分析 http://blog.csdn.net/liming0931/article/details/7766861以下是我的代码#include <stdio.h>#define N 100int main(void){ int i,k=1,j=0; for(i=1;i<=N+1;i++){ k*=i; i原创 2017-01-03 23:44:07 · 1560 阅读 · 0 评论 -
C语言自守数
以下是c语言282例子的代码#include <stdio.h>int main(void){ long i,j,k1,k2,k3,a[10]={0},num,m,n,sum; printf("请输入一个范围:\n"); scanf("%ld",&num); for(j=0;j<num;j++){ m=j; n=1;原创 2017-03-26 11:48:40 · 2457 阅读 · 0 评论 -
zigbee改变pandid和channel
void ChannelPanidInit (void) { uint8 channel; //定义信道 uint8 buf[2]; //定义PanID channel = zb_Readchannel(); //读取信道号 if(channel != 11) { zb_Readpandid(buf); if((buf[0] != 0x原创 2017-06-11 19:41:25 · 3729 阅读 · 2 评论 -
c语言螺旋数组的递归操作
代码片段有static函数 请注意。#include <stdio.h>#define N 100int scan_1(){ int num; do{ scanf("%d",&num); if (num<=0||num>N) printf("please enter a true number"); }while(原创 2016-11-25 21:55:04 · 4341 阅读 · 0 评论 -
c语言排序(持续更新)
因为作者正在持续学习,所以该博客将会持续更新桶序法冒泡法简单排序法直接插入法 希尔排序法 桶序法 #include <stdio.h>#define N 11int main(void){ int a[11]={1,4,3,6,1,8,9,10,22,33,12}; int b[101]={0};//数组b全部初始化为0 for (int i=0;i<原创 2017-09-08 21:24:33 · 398 阅读 · 0 评论 -
2015年蓝桥杯决赛 C/C++大学A组第一题
** 标题:方格填数在2行5列的格子中填入1到10的数字。 要求: 相邻的格子中的数,右边的大于左边的,下边的大于上边的。如【图1.png】所示的2种,就是合格的填法。请你计算一共有多少种可能的方案。请提交该整数,不要填写任何多余的内容(例如:说明性文字)。 **接下来我们进行分析,我们将这个表格看成一个二维数组a[2][5],我们发现第一个是只可能是1,最后也只可能是10,所以我们按照题意原创 2017-07-04 20:37:32 · 673 阅读 · 0 评论 -
固执的回数
我们取1-200之间的整数,其中有一个很固执在经历了1000次下面的运算还不是一个回数。 运算规则:19不是回数,倒过来就是91,91+19=110,110依然不是回数,那就继续倒过来就是11,110+11=121这就就是回数。 一下算出这个固执的回数:#include <stdio.h>int dg(long long int a_1,long long int b_1,int count)原创 2017-04-24 21:48:02 · 301 阅读 · 0 评论