计算机学习
北岛寒沫
一生温暖纯良,不舍爱与自由
展开
-
前端开发学习笔记:设置网页的收藏夹图标的方法
在HTML语言中,可以在网页的。当我们打开一个网页,在网页的标题旁边都会显示出一个网页图标,如下图所示便是CSDN的图标。原创 2024-04-11 21:10:47 · 330 阅读 · 0 评论 -
软件性能测试学习笔记(LoadRunner):从零开始
软件的性能测试与软件的功能测试完全不同,只关注服务器的表现。软件的刺激方式有多种,常用的方式有三种,分别是压力测试、负载测试和稳定性测试。除此之外,还有故障转移与恢复测试等方式。压力测试:一瞬间给软件进行高强度施压,因此压力测试也被称为并发测试。负载测试:持续地给软件增大压力。稳定性测试:将压力保持到一定的较高值后维持来测试软件的忍耐力。稳定性测试往往需要持续几个小时。确定性能测试的类型:确定进行性能测试的方式是哪一种。例如,对接口进行并发属于压力测试;测试网站的客户容量属于负载测试。原创 2023-11-15 11:15:39 · 1173 阅读 · 0 评论 -
虚拟现实项目笔记:SDK、Assimp、DirectX Sample Browser、X86和X64
软件开发包中往往包含有多种辅助进行软件开发的内容,包括一些软件开发工具、文档说明、库和示例代码。这些内容能够帮助使用SDK进行软件开发的人员更好地开发程序。SDK是Software Development Kit的英文缩写,意思是软件开发包。SDK的作用就是简化软件开发过程并对特定的开发提供支持。原创 2023-10-09 13:05:44 · 1305 阅读 · 2 评论 -
2.某计算机的单字长指令为16位,采用扩展操作码方式,每个地址码4位,三地址指令15条,二地址指令8条
计算机组成原理,指令系统,原题如下:某计算机的单字长指令为16位,采用扩展操作码方式,每个地址码4位,三地址指令15条,二地址指令8条,一地址指令127条,零地址指令(A)条?A.16 B.15 C.31 D.32解答:按照三地址-二地址-一地址-零地址的顺序进行扩展编码。首先考察三地址指令,由于每个地址码为4位,因此三地址指令中操作码的位数为16-34=4位,因此最多可以表示24=16条三地址指令,但是由于三地址指令只有15条,因此不妨原创 2022-04-19 21:39:50 · 12294 阅读 · 3 评论 -
C++ 栈数组和堆数组的效率比较
C++中的栈数组就是直接创建的数组,而堆数组则是用new指针方式创建的数组,其各自的运行效率如何?本人作了以下测试:#include<iostream>#include<ctime>using namespace std;int main(){ clock_t start, end; int test1[3000]; int* test2 = new int[3000]; for (int i = 0; i < 3000; i++) { test1[i原创 2022-04-16 01:25:34 · 1061 阅读 · 0 评论 -
C++ for循环处理数组时 利用缓存和不利用缓存的效率比较
利用缓存就是在循环处理数组时一次处理相邻的一批数组元素而不是一个一个逐一处理,这样可以提高程序效率,下面对该结论作出一个运行证明:#include<iostream>#include<ctime>using namespace std;int main(){ clock_t start, end; int a[2000]; for (int i = 0; i < 2000; i++) { a[i] = i; } start = clock();原创 2022-04-16 01:00:49 · 418 阅读 · 0 评论 -
C++中正向计数i++和逆向计数i--的效率比较
下面为测试代码:#include<iostream>#include<ctime>using namespace std;int main(){ clock_t start, end; start = clock(); for (int i = 0; i < 200000; i++) { for (int i = 0; i < 200000; i++); } end = clock(); cout << "正计数所用时间:"<原创 2022-04-16 00:45:59 · 254 阅读 · 0 评论 -
C++中i++与++i的效率比较
之前看有博主说能使用++i的地方都不要使用i++,因此本人做了一个实验验证该说法是否正确,代码和结果如下:#include<iostream>#include<ctime>using namespace std;int main(){ clock_t start, end; start = clock(); for (int i = 0; i < 200000; i++) { for (int i = 0; i < 200000; i++); }原创 2022-04-16 00:30:21 · 299 阅读 · 0 评论 -
C++常用的四种基本数值类型int unsigned float double 运行效率比较
最近在学习如何提高代码的运行效率,便索性把几种常用的基本数据类型的运算速率比较一下,代码和结果如下:#include<iostream>#include<ctime>using namespace std;int main(){ clock_t start, end; start = clock(); for (int i = 0; i < 20000000; i++) { unsigned sum = 0; for (unsigned i = 0;原创 2022-04-16 00:20:33 · 1350 阅读 · 0 评论 -
Weiler-Atherton多边形裁剪算法(C++实现)计算机图形学作业
#include<iostream>#include<graphics.h>#include<conio.h>#include<windows.h>#include<vector>using namespace std;int xl, xr, yb, yt;//优化后的Bresenham算法,能够处理斜率不存在,斜率为负数,斜率绝对值大于一等情况,并且可以根据需要自动调整两点顺序,具有良好的通用性//使用只需要输入两点的横纵坐标原创 2022-04-15 17:35:54 · 2315 阅读 · 6 评论 -
Suthurland-Hodgman多边形裁剪算法-C++完整实现(计算机图形学作业)
#include<iostream>#include<graphics.h>#include<conio.h>#include<windows.h>#include<vector>using namespace std;static int wx1, wy1, wx2, wy2;//优化后的Bresenham算法,能够处理斜率不存在,斜率为负数,斜率绝对值大于一等情况,并且可以根据需要自动调整两点顺序,具有良好的通用性//使用只需原创 2022-04-12 16:29:35 · 1029 阅读 · 0 评论 -
计算机组成原理 原码一位乘法(C语言实现)
#include<stdio.h>int Binary_add(int* Binary1,int* Binary2)//自定义的用于辅助的紧耦合函数,用于实现本题中二进制的加法运算 { int i; for(i=31;i>0;i--) { Binary2[i]+=Binary1[i]; if(Binary2[i]>1) { Binary2[i]-=2; Binary2[i-1]++; } } if(Binary2[0]>1) {原创 2022-04-04 00:10:53 · 1851 阅读 · 0 评论 -
图形学 基于Bresemham算法的宽线条的绘制 C++实现(圆润拐点)
#include<iostream>#include<graphics.h>#include<conio.h>#include<cmath>#include<windows.h>#define PI 3.1415926using namespace std;//优化后的Bresenham算法,能够处理斜率不存在,斜率为负数,斜率绝对值大于一等情况,并且可以根据需要自动调整两点顺序,具有良好的通用性//使用只需要输入两点的横纵坐标值原创 2022-03-25 23:36:21 · 420 阅读 · 0 评论 -
用Ubuntu编写第一个C程序并预处理、编译、汇编、链接
本篇文章主要介绍如果在Ubuntu系统中编写C程序并将其一步步处理为可执行程序机器环境:VMWare虚拟机 Ubuntu18.04,系统中安装了gcc编译器与vim工具1.首先打开想要存放所编写的C程序的文件夹,在文件夹中空白处点击右键,接着点击“从终端打开”。2.输入命令:vim 程序名实现的效果是在当前文件夹中创建一个C语言源程序文件(C文件要用.c后缀)3.执行完第2步后进入如下图所示的界面,输入i进入文本编辑模式,只有进入了该模式才能编写程序。4.执行完第3步后的界面如图所示5.在窗口中输入原创 2022-03-23 19:22:34 · 8033 阅读 · 2 评论 -
图形学作业 带宽度的直线绘制 C++实现
#include<iostream>#include<graphics.h>#include<conio.h>#include<cmath>#include<windows.h>#define PI 3.1415926using namespace std;//优化后的Bresenham算法,能够处理斜率不存在,斜率为负数,斜率绝对值大于一等情况,并且可以根据需要自动调整两点顺序,具有良好的通用性//使用只需要输入两点的横纵坐标值原创 2022-03-21 15:11:32 · 504 阅读 · 0 评论 -
计算机图形学 通用型Bresenham算法 C++实现
//优化后的Bresenham算法,能够处理斜率不存在,斜率为负数,斜率绝对值大于一等情况,并且可以根据需要自动调整两点顺序,具有良好的通用性//使用只需要输入两点的横纵坐标值即可void Bresenham(const unsigned& x1, const unsigned& y1, const unsigned& x2, const unsigned& y2){ int dx = x2 - x1, dy = y2 - y1; enum MainChangeDi原创 2022-03-20 23:50:00 · 877 阅读 · 0 评论 -
图形学 所有斜率均可用的中点画线法 C++实现
//经过多重优化的中点画线算法,输入为线段两端点的坐标值//该算法经过数学推导,可以处理斜率不存在,斜率为零,斜率为负数,斜率绝对值大于一等各种情况void Mid_point(const unsigned& x1, const unsigned& y1, const unsigned& x2, const unsigned& y2){ int dx = x2 - x1, dy = y2 - y1; enum Main_ChangeDirection { x, y原创 2022-03-20 19:23:11 · 1567 阅读 · 0 评论 -
数值微分法DDA画直线(C++实现)计算机图形学
//经过适配处理的数值微分算法,可以绘制斜率为零、斜率不存在、斜率绝对值大于一等情况下的直线,只需输入两个点的横纵坐标即可void DDA(const unsigned& x1, const unsigned& y1, const unsigned& x2, const unsigned& y2){ int dx(x2 - x1), dy(y2 - y1);//定义两个变量分别记录x和y的变化量 enum MainDirection { x, y };//定义一个枚举原创 2022-03-20 19:20:39 · 1145 阅读 · 0 评论 -
数据结构:将森林转化成一棵二叉树(C++实现)
#include<iostream>#include<vector>using namespace std;/*首先用模板结构体的方式定义一般树的节点,这类树的节点采用双亲—孩子表示法来表示(将半线性结构转化为线性结构)*/template<typename T>struct NormalTreeNode{ T data; int parent; vector<unsigned> children;//使用一个向量来表示一个节点的孩子下标原创 2021-11-27 13:50:23 · 1346 阅读 · 0 评论 -
非线性方程(组)求解
(更新中)非线性方程组的求解是数学中的一大难点,但是我们可以通过计算机的运算快速求出非线性方程组的近似解,下面给出四种求解非线性方程组的方法:二分法、不动点迭代法以下的内容均用Python语言实现,所定义的函数可以直接使用(用来写数值分析(or计算方法)的作业),需要可以自取1.二分法:原理就是高数中的方程的根的存在定理:若一个区间的两端点的函数值一正一负,则该区间内至少有一个根。因此可以每次将区间长度二等分,直到区间足够小或者所得到的区间的两端点函数值同号为止。下面是二分法的代码:使用方法:函原创 2021-11-01 19:33:23 · 3184 阅读 · 0 评论 -
数据结构实验入门:学生成绩统计排序系统
笔者最近在学校开始学习数据结构,这门课程作为计算机专业的最核心课程需要重点掌握,下面是数据结构实验课上的第一次作业内容,笔者在这里分享一下自己的想法和见解一、实验内容设计程序实现统计一个班的学生成绩(学生的人数可以设置3000、5000、8000、10000等测试数据),要求自行设计至少两种排序算法,实现如下四个功能;记录每种算法的耗时,结合数据结构的知识对两种算法的时间复杂度进行比较说明。(1) 输入每个学生的学号,并随机生成2门课程的成绩;(2) 计算每个学生的平均成绩和总成绩;(3) 按总成原创 2021-09-09 22:18:25 · 5988 阅读 · 0 评论 -
一篇短文快速入门Java中的URL(网络编程)
URL是初次接触Java网络编程的小白难以绕过的坎,而且它相当抽象。本文试着以最简单的方式向入门小白介绍Java中的URL对象使用。目录:1.URL是什么2原创 2021-08-23 14:16:22 · 2049 阅读 · 0 评论 -
C语言中的连等式解析
1.变量的定义不允许使用连等式 int a=b=c=1;//***这种情况下编译器会报错***2.变量的赋值允许使用连等式int a,b,c;a=b=c=1;//这是可以通过编译的,a,b,c的值都赋值为1赋值的方向是从右往左也就是: c=1,b=c,a=b...原创 2021-08-05 13:23:38 · 9374 阅读 · 0 评论 -
java:自定义一个斐波那契类
/*基本思路:本题只要求该类能实现计算阶乘的功能即可,因此在类中将计算阶乘的方法定义为一个类方法 * 这样在使用起来会非常方便 */public class Factorial { public static int fact(int n)//将该过程设置成一个静态方法 { int result=1; if(n<0)//当输入一个负数时,输出错误信息 { System.out.println("data error!"); return 0; } else原创 2021-07-25 13:34:33 · 91 阅读 · 0 评论 -
java:自定义一个数值型数据的排序类
/*基本思路:因为double为Java中数值型数据类型中最宽的数据类型,因此数组中所有元素均使用 * double类型类型便可以避免使用强制类型转换而表示所有数值型数据 * 该类可以实现的功能有: * 1.三种不同的构造方法 * 2.两种排序方式:从大到小或者从小到大 * 3.用于显示对象信息的输出函数 * author:计算机201旷欣然 */public class NumberSort {原创 2021-07-25 13:32:36 · 251 阅读 · 1 评论 -
java:自定义矩阵类
/*我所设计的矩阵类包含以下功能:(不只是加法功能和转置功能) * 1.三种普通构造方法以及一种复制构造方法 * 2.矩阵的加法、减法、数乘、求负以及矩阵乘法的运算 * 3.矩阵的转置 * 4.矩阵的三种判断:矩阵是否同型、矩阵是否相等以及矩阵是否为方阵 * 5.计算矩阵的迹、矩阵中所有元素的和以及矩阵的乘方 * 6.获取矩阵的行数和列数 * 7.输出矩阵相关的所有信息 * 8.获取行列数确定的单位矩阵的静态方法原创 2021-07-25 13:30:58 · 3907 阅读 · 3 评论