自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

麟的博客

好好休息 不脱发

  • 博客(30)
  • 收藏
  • 关注

原创 常见通信协议对比

1.并行通讯:同一时刻,可以传输多个bit位的信号,有多少个信号位就需要多少根信号线。2.串行通讯:同一时刻,只能传输一个bit位的信号,只需要一根信号线。,一般应用于快速设备之间采用并行通信。同步通信:接收端时钟频率和发送端。、发送端发送完一个字节后,可。的时间间隔再发送下一个字节、

2023-10-09 15:31:13 130

原创 BRAM、DRAM和SRAM的区别

全称:静态随机存取存储器(Static Random-Access Memory,SRAM),所谓的“静态”,是指这种存储器。全称:动态随机存取存储器(Dynamic Random Access Memory,DRAM),,包括同步动态存储器SDRAM和各种类型双倍数据DDR,在作为FIFO调用资源的基础下,仅。(被称为volatile memory),这与在断电后还能储存资料的。,是FPGA定制的RAM资源,在作为FIFO调用资源的基础下,Random Access Memory,BRAM的输出需要。

2023-09-07 16:02:40 1433

原创 基于verilog的呼吸灯设计

基于verilog的呼吸灯设计

2023-09-05 19:14:25 473 1

转载 8B/10B编码

8B/10B编码

2023-09-05 15:19:52 147 1

原创 STL(标准模板库)—Vector

目录Vector1、创建一个名为V的vector容器 整型数组2、vector容器中存放自定义的数据类型 3、vector容器嵌套容器VectorSTL中最常用的容器Vector 可以理解为数组Vector存放内置数据类型//容器:vector//算法:for_each//迭代器:vector<int>::iterator1、创建一个名为V的vector容器 整型数组a、插入数据//创建一个名为V的vector容器 整型数组...

2022-04-02 21:21:59 789 2

原创 C++ 模板

首先:让我们思考为什么要使用函数模板哪?例如一个简单的交换函数,在大的程序中一般会比较常用,如果你不使用函数模版,便要声明多个不同类型的交换函数。而使用一个模版函数就可以解决问题了,既免了功夫,也减少了代码的字数。函数模板的基本语法:template<typename T>其中typname可以替换为class该声明的意义在于声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用数据类型。例如我们通过函数模板实现数据的交换:void MySwap(T

2022-03-31 12:58:10 891 2

原创 C++职工管理系统

职工管理系统.cpp#include"workerManager.h"#include"boss.h"#include"employee.h"#include"manager.h"#include"worker.h"int main(){ int id = 0; WorkerManager wm; int choice = 0; do { wm.Menu(); cout << "请输入你要进行的操作:"; cin >> choice;

2022-03-29 13:59:24 11183 3

原创 C++多态

1、多态的基本概念#include <iostream>using namespace std;//动态多态//满足条件:1、有继承关系 2、子类重写(函数返回值类型 函数名 参数列表 完全相同) 父类的虚函数 //动态多态的使用//父类的指针或者引用指向子类对象class Animal{public: //虚函数 virtual void speak()//加上virtual 空(1个字节)变为指针(4个字节) { cout << "动物在说

2022-03-25 15:30:35 1059

原创 C++ 继承

1、继承的基本语法//继承的好处 减少重复的代码//语法:class子类:继承方式 父类//子类 也称为 派生类//父类 也称为 基类#include <iostream>using namespace std;//继承实现页面//继承的好处 减少重复的代码//语法:class子类:继承方式 父类//子类 也称为 派生类//父类 也称为 基类class Base{public: void header() { cout << "首页、.

2022-03-23 13:29:38 831

原创 运算符重载

1、递增运算符重载#include <iostream>using namespace std;class Person{ friend ostream & operator<<(ostream &cout, Person& p);public: Person() { m_A = 0; } //前置++运算符 //重置前置++运算符 返回引用为了一直对一个数据进行递增操作 Person& operator++()

2022-03-22 12:47:06 129

原创 深拷贝与浅拷贝

class Person{public: Person() { cout << "默认构造函数的调用" << endl; } Person(int age, int hight) { m_age = age; m_hight = new int(hight); cout << "有参构造函数的调用" << endl; } Person(const Person &p) { m_age = p.m_age;.

2022-03-17 18:05:59 110

原创 拷贝构造函数的调用时机

1、使用一个已经创建完毕的对象来初始化一个新的对象void test1(){ Person P1(10); Person P2(P1);//拷贝}2、值传递的方式给函数参数传值void dowork(Person P){}void test2(){ Person P; dowork(P);//拷贝}3、值方式返回局部对象Person dowork2(){ Person P1; return P1;//拷贝}void test3(){ Pe

2022-03-17 13:04:58 500

原创 构造函数和析构函数

构造函数和析构函数

2022-03-16 15:11:06 320

原创 带有副作用的宏参数

#include <stdio.h>#define MAX(X,Y) ((X)>(Y)?(X):(Y)) int main(){ int a = 10; int b = 11; int max = MAX(a++,b++); //int max = ((a++)>(b++)?(a++):(b++)); printf("%d\n",max); printf("%d\n",a); printf("%d\n",b); return 0; }

2021-12-11 16:51:48 473

原创 动态内存的开辟与释放

//动态内存分配#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h> int main(){ //动态内存开辟 //向内存申请10个整形的空间 int* p = (int* )malloc(10*sizeof(int)); if(p == NULL) { printf("开辟失败\n"); //打印错误原因 printf("%.

2021-12-02 10:39:01 715

原创 判断机器是大端存储还是小端存储

1.指针方法int check_sys(){ int a = 1;//存储占用四个字节 return *(char*)&a;//转化为char型 取出第一个字节 } int main(){ int ret = check_sys(); if(1 == ret) { printf("小端存储"); } else { printf("大端存储"); } return 0;} 2.联合体方法int check_sys(){.

2021-11-29 15:42:46 416

原创 自定义结构体类型

位段 - 节省空间 - 不支持跨平台其中位段的位是指:二进制位位段的内存分配 :1. 位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型2. 位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。3. 位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。下面介绍下如何计算位段的大小struct s{ int a : 2;//2个比特位 int b :

2021-11-29 10:17:20 537

原创 自定义数据类型—结构体

声明一个结构体类型声明一个学生类型 通过学生类型来创建学生变量描述学生:属性:名字 电话 性别 年龄struct stu{ char name[20];//名字 char tele[12];//电话 char sex[10];//性别 int age;//年龄 }s4,s5,s6;//全局变量 struct stu s3;//全局变量 int main(){ struct stu s1; struct stu s2;//局部变量 return 0; }

2021-11-25 10:38:12 180

原创 C语言中相关函数的模拟实现

p1>p2 返回大于0的数 p1=p1 返回等于0的数字 p1<p2返回小于0的数字

2021-11-22 15:25:11 578

原创 利用时间来产生随机数

%3的原因就是产生0 1 2的数

2021-11-20 19:56:43 411

原创 排雷小游戏

#include "game.h"void InitBoard(char board[ROWS][COLS],int rows,int cols,char set){ int i = 0; int j = 0; for(i=0;i<rows;i++) { for(j=0;j<cols;j++) { board[i][j] = set; } }}void DisplayBoard(char board[ROWS][COLS],int row,int.

2021-11-20 19:48:27 2317

原创 三子棋小游戏

#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void InitBoard(char board[ROW][COL], int row, int col){ int i = 0; int j = 0; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { board[i][j] = ' '; } }}//void DisplayBoar.

2021-11-20 19:46:01 2371

原创 棋盘的打印

编写三子棋小游戏时棋盘的打印

2021-11-20 19:40:52 797

原创 简单冒泡排序

void bubble_sort(int arr[],int sz)//冒泡排序 { int i = 0; for(i=0;i<sz-1;i++)//需要进行sz-1趟冒泡排序 { int flag = 1;//假设这一趟要排序的数据已经有序 //每一趟冒泡排序 int j = 0; for(j=0;j<sz-1-i;j++)//每一趟冒泡排序需要进行多少次比较 { if(arr[j] > arr[j+1]) .

2021-11-20 19:35:35 369

原创 sizeof、strlen求字符长度

区分sizeof、strlen 对 "abcdef " {abcdef}

2021-11-20 19:23:50 376

原创 杨氏矩阵查找数字是否存在

//题目要求//杨氏矩阵//题目内容//有一个数字矩阵 矩阵的每行从左到右是递增的 矩阵从上到下是递增的 //编写程序在这样的矩阵中查找某个数字是否存在//要求:时间复杂度小于O(N) 最坏的次数是全部查找 //1 2 3//2 3 4//3 4 5 //这种也是

2021-11-20 15:45:12 172

原创 判断一个字符串是否由另外一个字符串旋转而来

//方法一int is_left_move(char* s1,char* s2){ int len = strlen(s1); int i = 0; for(i=0;i<len;i++) { left_move(s1,1);//这里不能以下旋转好几个的原因是 旋转之后就变了 //在进行下次旋转就不是原来的字符串旋转得到的了 int ret = strcmp(s1,s2);//相同返回0 不同返回1 if(ret == 0) { .

2021-11-20 15:00:43 335

原创 字符串的逆序与比较

//题目内容//实现一个函数 可以左旋字符串中的K个字符//例如://ABCD左旋一个字符得到BCDA//ABCD左旋两个字符得到CDAB

2021-11-20 10:45:09 360

原创 名次的确定

a说:b是第二名 a是第三名b说:b是第二名 e是第四名c说:c是第一名 d是第二名d说:c是第五名 d是第三名e说:e是第四名 a是第一名其中每个人说的有一半是对的

2021-11-19 22:03:43 285

原创 水仙花升级版(自幂数)

//自幂数int main(){ int i = 0; for(i=0;i<100000;i++) { //判断是否为自幂数 //1.计算位数 n位数 int n = 1; int sum = 0; int tmp = i; while(tmp/=10) { n++; } //2.计算i的每一位的n次方之和 tmp = i; while(tmp) { sum += pow(tmp%10,n);//次方数 tmp/=1...

2021-11-19 21:52:16 159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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