- 博客(17)
- 资源 (9)
- 收藏
- 关注
原创 硬件描述语言VHDL——顺序语句
VHDL语言的基本语句分为两大类,顺序语句和并行语句。这是由于硬件设计的特点所引起的。假设需要设计一个三输入的与门和两输入的或门,将它们两个的结果作为输入给加法器,那么这就需要同时给5个信号。这是并行的,不能顺序执行。在VHDL中,变量的赋值语句使用":="这个符号,变量的赋值是立即生效的。信号的赋值语句使用"<=",它的赋值是有延迟的,不是立即生效的。变量是个局部量,而信号是全...
2019-03-20 12:56:25 4469
原创 硬件描述语言VHDL——运算符
逻辑运算符and or not nand nor xor xnor 这7种逻辑运算符。它们分别是与,或,非,与非,或非,异或,同或。它们的操作数只能是std_logic,bit,boolean类型的数据或者是相应的矢量,操作数为矢量的时候,要求长度相等。算术运算符+ - * / ...
2019-03-20 11:44:14 6370
原创 套接字(socket)
套接字当初设计的目的就是为了统一同一台计算机中进程之间的通信以及不同计算机进程之间的通信所设计的一个统一的接口。套接字最早是UC Berkeley为BSD操作系统设计的。现在POSIX标准化了套接字。在Linux和Unix下的套接字是一致的。但是在Windows下,微软为Windows操作系统的应用层和传输层设计了自己独有的一套机制,同时微软也扩展了POSIX标准制定的套接字,形成了Windows...
2019-03-19 22:16:25 895 1
原创 TCP套接字编程——Python语言描述
TCP和UDP不同,它是面向连接的服务。因此,在传输数据之前,必须要先建立连接。当连接一旦建立,那么客户端就可以直接通过该套接字向服务器发送数据。而无需向UDP连接中那样需要指定目的地址。下面我们来看客户端代码。from socket import *;server_address = 'localhost';server_port = 8000;ADDR = (server_add...
2019-03-18 22:02:14 516 4
原创 UDP套接字编程——Python语言描述
首先,回顾一下。在我们使用Socket编程之前的一些网络的概念。IP:它是用来标识处于Internet之中的端系统的。MAC:它是用于在同一局域网中标识不同的计算机的。端口号:它是用来标识同一台主机上不同的网路应用程序的。套接字成为了应用程序进行通信的一种抽象机制。每一个进程都有一个或者多个套接字。当生成一个套接字的时候,就会为它分配一个端口号。我们是在C/S架构上应用UDP套接字...
2019-03-18 20:32:51 1106 2
原创 P2P架构
现在的网络体系中,除了C/S架构以外,P2P是近几年比较流行的一种web应用架构。P2P没有绝对的服务器和客户端之分。连接的双方分别作为临时的服务器和客户端。P2P通信的双方还可能更换IP地址。 P2P的一个最为流行的应用是BT种子,相信各位老司机对BT种子和迅雷都不陌生吧!这是一个文件分发协议。P2P的出现使得服务器在处理文件传输的时候,能够减少服务器的负载。在P2P中,每个对等方能够向任何其他...
2019-03-18 15:09:54 1467 1
原创 C#数组
在C#里,数组是引用类型,而非值类型。C#里,声明一个数组的方式如下:int [] num;这样就声明了一个数组(声明数组,而非定义)。接着就该给声明好的数组分配内存了,由于C#里数组是引用类型,因此应当使用new运算符来分配内存,这个时候应当指出数组含有的元素个数。num = new int [5];至此,我们就拥有了一个含有5个元素的int类型的数组。数组被存放在托管堆...
2019-03-13 17:37:32 874
原创 带锁的门
带锁的门在走廊上有N个带锁的门,从1到N依次编号。最初所有的门都看关着的。我们从门前经过n次,每一次都从1号门开始。在第i次经过时(i = 1,2,...,n)。我们改变i的整数倍号锁的状态:如果门是关的,就打开它;如果门是开的,就关闭它。在最后一次经过后,哪些门是关上的,哪些门是开着的?有多少开着的门。题目来自于《算法设计与分析基础》。解决首先,我们来尝试收购小规模来模拟一下这个...
2019-03-10 19:29:40 1807
原创 小易买苹果
题目描述小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。解法这个题目很容易就可以写出下面的式子:6x+8y=n;非常直观的解法就是求解这个线性丢番图方程。这个方程的求解可以使用扩展欧几里得算法。我们求出其x的一个最小非负整数值,...
2019-03-10 16:27:37 392
原创 欧几里得算法(辗转相除法),扩展欧几里得算法,乘法逆元,最小正整数解
欧几里得算法是用来求解两个不全为0的非负整数m和n的最大公约数的一个高效且简单的算法。该算法来自于欧几里得的《几何原本》。数学公式表达如下:对两个不全为0的非负整数不断应用此式:gcd(m,n)=gcd(n,m mod n);直到m mod n为0时。m就是最大公约数证明:我们假设有a,b两个不全为0的数,令 a % b = r; 那么有 a = kb + r. 假设a,b的公约数是d。...
2019-03-10 15:29:22 5118 1
原创 VHDL硬件描述语言(三)——基本数据对象和数据类型
VHDL是一种强类型的语言,它不允许不同数据类型之间的相互赋值。如果想在不同数据类型之间进行赋值则需要调用函数来完成。在VHDL语言里,基本数据对象有三种:常量,变量以及信号。常量常量就是常数,它的数值不能更改。它必须初始化。它的一般定义格式如下:CONSTANT 常量名:数据类型 := 表达式; --表达式是用来初始化常量的变量变量的格式如下:VARIABL...
2019-03-09 17:15:09 8638 1
原创 VHDL硬件描述语言(二)——子程序
在VHDL语言中,子程序包括函数和过程。一般被定义在程序包里面。函数函数在VHDL中可以用于求值,函数的特征是多个输入,一个输出。这和普通的软件程序设计语言没有什么区别。函数定义的形式如下:FUNCTION 函数名(参数列表) RETURN 数据类型 --函数首FUNCTION 函数名(参数列表) RETURN 数据类型 IS --函数体 [说明部分]...
2019-03-09 16:01:28 1186
原创 VHDL硬件描述语言(一)——基本结构
VHDL硬件描述语言是一种用于电路设计的硬件语言。出现在在80年代的后期,最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种设计语言 。VHDL主要用于描述数字系统的结构,行为,功能和接口。VHDL语言是用来设计FPGA/PLD硬件的。VHDL语言是基于行为描述的。更加重要的是VHDL语言设计是于硬件电路无关的,它能在任意厂家的FPGA芯片上进行设计。通常一个完整的V...
2019-03-06 21:54:15 6593 1
原创 C#类
C#是面向对象的语言,它使用类来进行抽象。在C#里,把类之中的变量统称为“数据成员”;类的函数称为“方法”。它的类基本和C++的是相似的。下面是一个非常简单的类。class MyClass{ //字段 public int number; public int age; //方法 public string Show() { return "number:"+...
2019-03-04 22:23:59 280
原创 C#基本语法
C#的基本语法和C/C++,Java的语法基本一致。下面只指出两者的不同之处。C#使用using用来引入库文件,类似于Java的import以及C++的using namespace语句。同样C#也使用namespace来声明一个命名空间。C#不像C++一样,有用于输入输出的关键字cin和cout,而是依赖于.NET类。最基本的类是System,这个类几乎所有的C#程序都要用到。C#从...
2019-03-02 17:34:01 386
原创 C#的简单数据类型
C#的简单数据类型都是值类型,即:对象本身保存的就是数据,而非数据的地址。C#的简单数据类型包括以下这些类型:整数类型浮点数类型如果没有强制指定浮点数的类型,那么默认为double类型。布尔类型在C#中,bool类型的取值只能是true和false,不能使用0和1给bool类型赋值。字符类型C#对单个字符的使用char类型,并且在C#中直接支持Uni...
2019-03-01 17:36:29 1553
原创 C#与.NET
C#从本质上来说,它是一门编程语言。他不是.NET体系的一部分。虽然C#总是用来生成.NET平台的代码。C#语言不能孤立的使用,必须与.NET平台一起使用。这样才能大大提高开发效率。相对于C++,Java等语言,C#是一种比较新的语言。它是在吸收了C++和Java语言在设计上的优点设计出来的。从一开始C#就被设计为面向对象的开发语言。.NET Framework的核心是运行库执行环境,通常...
2019-03-01 16:59:11 3071
单片机开发USB转串口CH340驱动
2018-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人