自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 加密与解密------第一章笔记

1.字符集ASCII码与Unicode字符集ASCII码是一个7位编码标准,共128个字符,最高位总是0Unicode是ASCII码的一个扩展,其使用两个字节进行编码,因此也被称为宽字符集,在unicode中所有字符都是16位的,ASCII码在Unicode下都会被扩充为16位,高位全部填充0字节序(大端与小端)字节序:计算机中字节该以什么样的顺序传送例如将:12345678h写入内存中存放顺序1000h1001h1002h1003h大端12h34h56h

2020-09-08 15:50:16 342

原创 8086中断知识以及编写0号中断处理程序

PART1:前言int n指令的格式为:int n,n为中断类型码cpu执行int中断,实际上就相当于引发一个n号中断的中断过程,他的大致执行过程如下:取中断类型n标志寄存器入栈,置IF=0,TF=0 (为什么要这一步,后面有解释)// 这一步可以模拟为pushf //标志寄存器入栈;下面的步骤完成置IF和TFpushfpop axand ax,11111100Bpush axpopf //置IF=0,TF=0CS和IP入栈令IP=(n*4),CS=(n*4+2)80

2020-08-15 00:13:29 1379

原创 nasm笔记

nasm编译器nasm只是一个编译器,只能输出目标文件,你还需要一个链接器来生成exe。nasm支持多种输出文件格式,比如obj、elf等等。用参数-f告诉nasm输出什么格式。参数-hf可以查看支持的格式。在没有-f参数的情况下,nasm默认的输出文件格式是bin,比如要写boot sector就要输出成bin。bin这种格式没有所谓段这个概念,分段都是自己管理。...

2020-08-14 16:43:34 1020

原创 逆向笔记--常用到的汇编知识点

函数调用与返回过程call过程:// 段内call通常进行两步操作push ipjmp addr// 如果call的函数不是本段当中的地址push cspush ipjmp addrret过程:ret实际上是一个伪指令,由编译器决定在编译时最终使用retn(return from near procedure)或者retf(return from far procedure),这实际上对应了call的两种方式段内call不需要将段地址压栈,对应的retn只需要实现pop i

2020-08-11 16:42:03 399

原创 8086汇编笔记

ret和retf指令ret相当于pop ipretf相当于pop ippop cs子程序调用导致的寄存器冲突问题编写汇编子程序时不可避免的会用到某些寄存器,而当调用者也就是父程序也使用了相同的寄存器时就会出现问题,如父程序使用了cx但是子程序当中对cx进行了修改解决方法由于无法预料到调用子程序的情况,也就没有办法针对性的避免使用父程序已经使用过的寄存器,因此可以在子程序入口处push子程序用到的寄存器,然后再ret前再pop出去子程序开始: 子程序使用到的寄存

2020-08-11 00:17:53 221

原创 dos下调试汇编程序

前言最近在看操作系统的实现过程,目前正在看实模式和保护模式这块,实模式下的16位汇编程序有时候会需要调试,于是准备在dos下使用debug进行调试,本文主要记录调试过程中遇到的一些坑dos环境搭建过程可以参考怎么在 Linux 中运行 DOS 程序简化过程如下:1. 使用qemu-img创建一个虚拟磁盘qemu-img create dos.img 200M,第一次使用这个命令,使用hexdump查看可以发现里面的内容全部都是0,文件类型为data(就是一个dd命令创建一个全为0的文件)2.

2020-08-10 01:44:03 782

原创 操作系统引导-----QEMU环境下制作boot引导程序

目标制作一个光盘实现qemu下操作系统的引导储备知识df命令:列出文件系统的整体磁盘使用量du命令:常用于计算目录所占容量-h :以(G/M)方式显示容量-k:以KB方式显示-m:以MB方式显示mkfs命令:使用指定的文件系统格式化磁盘-t :接文件系统格式,如ext3,ext2,vfat等mount命令:将文件系统挂载到指定的目录下losetup命令:连接文件与循环设备(/dev/loop)详解-d 卸除设备。-e<加密方式> 启动加

2020-08-06 22:06:14 3441

原创 Qt样式表设置

前言最近在用Qt写课程设计,把平时遇到的问题在这里记录一下相关问题及解决遇到的问题以及解决:使用QMenu以及QInputDialog时背景为黑色,看不见字体:解决方法:检查QMenu或者QInputDialog继承的父部件或者祖先部件中是否有设置过styleSheet为transparent,原因是子部件会继承父部件及祖先部件的transparent属性,背景显示为黑色,当然也可以...

2019-05-16 12:49:19 1308

原创 shell及shell script的常用知识记录

shell基础/etc/shells这个文件存放了系统当前可以使用的shell/etc/passwd用户登陆时会默认取一个shell操作,而这个登陆取得的shell就记录在/etc/passwd这个文件内.bash_history记录前一次登陆以前所执行的命令,这一次的命令放在临时内存中,注销登陆后才写入文件bash支持通配符查询与命令执行,如ls -l /usr/bin/X*变量的...

2019-03-31 23:29:19 163

原创 Linux文件与压缩

shutdown命令shutdown -h now 立刻关机shutdown -h 20:23 20:23关机shutdown -h 10  10分钟后关机shutdown -h 10 'the machine will be shutdown after 10 minitus'改变文件属性与权限chgrp  改变文件所属用户组chown  改变文件拥有者chmod  改变文...

2019-03-26 23:19:23 110

原创 vi与vim的基本操作

vi的使用移动光标i o a进入编辑模式ESC进入一般模式Ctrl+f屏幕向下移动一页Ctrl+b屏幕向上移动一页n<space>光标向右移动n个字符按0,光标直接移动到行首$或者多功能键END光标移动到行末nG光标移动到第n行gg光标移动到第一行/word查找word字符串删除x向后删除一个字符X向前删除一个字符,相当于backspacenx向后删...

2019-03-26 23:19:07 158

原创 C++ IO库基本操作

IO类为了支持不同种类的IO操作,除了istream和ostream之外,标准库还制定了一些其他的IO类型头文件iostream// w开头表示宽字符版对象istream wistream //从流中读取数据ostream wostream //向流中写数据iostream wiostream //读写流头文件fstream// w开头表示宽字符版对象ifstream ...

2019-03-06 12:20:34 407

原创 C++ 类成员函数作用域以及构造函数初始值列表

名字查找与类的作用域:普通查找方式:在名字所在的块中寻找声明,只考虑在语句之前的声明如果没找到继续查找外层作用域,也是语句之前的声明如果没找到,程序报错定义在类内部的成员函数首先编译成员的声明(声明中的名字,函数返回类型和参数列表)直到类全部可见后编译函数体成员函数中的名字按下面的方式解析在成员函数内查找该名字的声明,只有使用之前出现的声明 才被考虑如果在成员函数内没...

2019-03-06 10:29:48 689

原创 C++之 lambda表达式

lambda表达式的使用对于一个对象或者表达式,如果对其可以使用调用运算符,则称他是可调用的,即如果e是可调用的,则我们可以编写代码e(args),其中args是一个逗号分隔的一个或多个参数的列表,C++中有4种可调用对象,函数函数指针重载了函数调用运算符的类lambda表达式一个lambd表达式表示一个可调用的代码单元,我们可以将其理解为一个未命名的内联函数一个lambda具...

2019-03-05 21:53:33 256

原创 PAT 1030 Travel Plan(Dijsktra算法)

题解这题是Dijsktra算法的变形,更新节点的时候需要考虑花费(相当于有两个权值),当路径相同时花费优先选择花费少的,加一个判断即可#include &lt;cstdio&gt;#include &lt;vector&gt;#include &lt;algorithm&gt;const int maxn=505;const int INF=100000000;using n...

2019-02-28 20:56:48 174

原创 PAT 1029 Median

题解题意就是给你两个排好序的增序序列,求两个序列合并后的中位数。Input Specification:Each input file contains one test case. Each case occupies 2 lines, each gives the information of a sequence. For each sequence, the first positi...

2019-02-28 18:08:19 133

原创 PAT 1028 List Sorting自定义比较函数

这题比较简单,结构体存放三个数据,根据C的不同选择比较函数,sort原题链接#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;algorithm&gt;using namespace std;struct Stu{ int id; string name; int grade;}st...

2019-02-27 22:50:34 125

原创 1025 PAT Ranking

这题一开始看错了,当搜索题做的,思路是建一个二维数组,大小为102的数组每一项用来保存分数小于等于自己下标的人数,也就是0-100项,最后一项保存参与排名的人数,因为是按搜索题做的,最后遍历了一遍map,输出。最后一个测试点大概100ms左右,参考其他常规使用sort排序大概40-60ms原题链接代码如下#include &lt;iostream&gt;#include &lt;map&g...

2019-02-24 16:21:41 142

转载 C/C++ cmp()函数基本用法

这里讨论C/C++中自定义排序函数cmp()的几种写法1. C标准库函数qsort()函数原型void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void * ))int cmp(const void *a ,const void *b){ return *(int *)a - *(int *)...

2019-02-24 14:25:23 39949 1

原创 1023 Have Fun with Numbers简单的大整数乘法

1023 Have Fun with Numbers (20 分)Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happen...

2019-02-17 22:35:11 155

原创 PAT 1022 Digital Library(map的使用)

题解题目过长直接放原题链接这一题使用map就可以过,注意一点就是id是一个七位数字,可能出现000001这样0开头的情况,输出的时候应该使用printf(&quot;%07d\n&quot;,*id)补足七位,没注意到的最后两个会报错,还有一点就是Query 函数的参数如果不使用地址的话可能会超时#include &amp;lt;iostream&amp;gt;#include &amp;lt;cstdio&amp;gt;#include.

2019-02-17 21:48:49 138

原创 PAT 1021 Deepest Root

1021 Deepest Root (25 分)A graph which is connected and acyclic can be considered a tree. The hight of the tree depends on the selected root. Now you are supposed to find the root that results in a hi...

2019-02-17 15:46:11 138

转载 gcc参数说明以及编译过程(转)

gcc使用简介与命令行参数说明原文(一) gcc的基本用法(二) 警告提示功能选项(三) 库操作选项(四) 调试选项(五) 交叉编译选项(一) gcc的基本用法使用gcc编译器时,必须给出一系列必要的调用参数和文件名称。不**同参数的先后顺序对执行结果没有影响,只有在使用同类参数时的先后顺序才需要考虑。**如果使用了多个 -L 的参数来定义库目录,gcc会根据多个 -L 参数的先后...

2019-02-15 15:23:43 457

转载 c++迭代器(iterator)详解

原贴链接1.迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。(2) 使用迭代器读取vector中的每一个元素:vector&lt;int&gt; ivec(10,1);...

2019-02-13 14:28:34 882

原创 PAT 1020 Tree Traversals根据中序,后序遍历结果重新建树

1020 Tree TraversalsSuppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversa...

2019-02-13 11:40:02 254

原创 PAT 1019 General Palindromic Number—回文数

题解原题链接开一个数组保存N在当前进制b下的每一项,判断左右是否相等#include &lt;cstdio&gt;using namespace std;int main(){ int N, b, a[40], len=0; bool ispa = true; scanf("%d %d",&amp;N,&amp;b); while(N != 0) ...

2019-02-07 22:14:03 97

原创 PAT 1018 Public Bike Management —Dijkstra+dfs筛选

题解原题链接这题我一开始没读懂题意,其实题目意思是这样的,给你一个需要调整的位置然后你需要找一条从PBMC(0位置点)到给定位置的最短路径,这个最短路径可能有多条注意点:从PBMC到给定位置,其路径所经过点都需要调整到perfect不能返回的时候再调整,多的自行车可以带回最短路径有多条的时候优先选择从PBMC带出自行车最少的那一条,如果还有多条就选择最终返回所带自行车数目最少的,题目...

2019-02-07 16:07:32 204

转载 GDT LDT详解

Linux0.11学习笔记转载

2019-02-06 23:34:14 585

原创 PAT 1017 Queueing at Bank—优先队列模拟

题解原题链接用两个优先队列,一个存储顾客到达时间,另一个存储窗口空闲时间点#include &amp;lt;iostream&amp;gt;#include &amp;lt;queue&amp;gt;#include &amp;lt;cstdio&amp;gt;#define MIN 8*60*60#define MAX 17*60*60#define tosec(a,b,c) a*60*60+b*60+cusing n

2019-02-06 17:32:32 148

原创 PAT 1015 Reversible Primes—判断素数

题解原题链接题目大意,给你一个10进制的数N和一个进制D,如果N是素数且N在进制D下的“reverse”也是素数则输出Yes,否则输出No;样例分析:23 223 在2进制下的数字是10111,“reverse”以下就是11101,也就是10进制下的29,23与29都是素数,输出Yes解题思路:找到N在进制D下对应的数然后检查两个是不是都是素数,这里检查的方法是用的素数表AC代码#...

2019-02-05 21:44:21 126

原创 线性(欧拉)筛法筛素数表

素数表的普通筛法一个合数可以表示成一个素数和一个其他数的乘积,即假设有合数A,那么一定存在这样的A = b * c,其中b和c有一个为素数,由此得到以下的方法,从2—maxn循环一遍,每次筛掉 i 与素数表每一项的乘积,最终剩下的就是素数。#include &amp;amp;lt;iostream&amp;amp;gt;#include &amp;amp;lt;cstring&amp;amp;gt;using namespace std;con

2019-02-05 20:55:53 875

原创 PAT 1013 Battle Over Cities——求图的连通分支个数

题解原题链接题目翻译过来的意思就是给你一个无向图,删掉其中一个顶点然后让你求剩下的图的连通分支个数求连通分支个数有以下两种方法:dfs,直到所有节点都被访问过,记录下dfs次数就是连通分支个数,删除顶点放在dfs里面加一个判断就可以了并查集,但是这题涉及到删除一些边,没有dfs来的方便ps:这题我一开始使用的cin读入,最后超时了一个,改为scanf才AC代码(参考算法笔记)#...

2019-02-03 21:27:53 849

原创 PAT 1012 The Best Rank

题解原题链接思路:使用map完成id与数字1、2、3…之间的映射关系,grades[2001][3]保存成绩成绩排名可以设置4个大小101的数组,数组值为成绩在数组下标之前的人数,如c[60]=10表示60分及以下的人数有10个,这样知道成绩之后拿N-c[成绩]就可以得到排名AC代码#include &lt;iostream&gt;#include &lt;map&gt;us...

2019-02-02 23:40:56 154

原创 PAT 1011 World Cup Betting

简单题直接上代码原题链接#include &lt;iostream&gt;#include &lt;cstdio&gt;using namespace std;int maxindex(double a[]){ if (a[0]&gt;a[1]&amp;&amp;a[0]&gt;a[2]) return 0; else return ...

2019-02-02 22:05:50 117

原创 PAT 1010 Radix——二分法

题解原题链接这一题的坑比较多,刚开始看到这题以为默认36进制以内,for循环一遍错了7、8个,实际上这个题的进制范围可以很大,但是当两个数都不为0时,一个数的进制不会超过另一个数的10进制表示(一个数不为0那么最小也是1,如果进制大于另一个数的10进制表示,那么两个数不可能相等)这题的数据最好都用long long,int可能会溢出进制是有下界的,比如说一个数的表示出现了‘a’,那么进制...

2019-02-02 21:50:39 193

原创 PAT 1002 A+B for Polynomials——多项式相加

题解原题链接数组模拟即可,数组下标代表指数,里面的值代表系数代码#include &lt;iostream&gt;#include &lt;cstdio&gt;using namespace std;int main(){ double a[1001] ={0}, b[1001]={0}, c[1001]={0}; int k, index,cnt=0; ...

2019-02-01 22:20:53 182

原创 PAT 1009 Product of Polynomials——多项式相乘

题解原题链接这题数据范围比较小,直接数组模拟就行了代码#include &lt;iostream&gt;#include &lt;cstdio&gt;using namespace std;int main(){ double a[1001] ={0}, b[1001]={0}, c[2001]={0}; int k, index,cnt=0; cin ...

2019-02-01 22:14:34 113

原创 PAT 1008 Elevator

这题很简单直接上代码#include &lt;iostream&gt;using namespace std;int main(){ int N, sum=0, lastnum=0, num; cin &gt;&gt; N; for (int i=0; i&lt;N; i++) { cin &gt;&gt; num; if...

2019-02-01 21:37:12 81

原创 PAT 1007 最大子段和——一般方法与动态规划法

题解原题链接这题是可以用分治法解的,但是比较麻烦要考虑最大子段出现在中间的情况并且要求输出第一个和最后一个元素,简单一点的方法是遍历一遍记录最大和以及始末元素位置,最后输出就可以了,下面的代码需要注意的是当最大子段和为0的时候(序列不全为负,例如:0 -1 -3 0 0),while循环里面不会记录元素下标(大于的时候才会更新,一直等于不会更新),所以需要最后加一个if判断一下ps这题要看清...

2019-02-01 21:14:16 155

原创 PAT 1006 Sign In and Sign Out

题解原题链接比较简单的想法,设置一个ulk和lk字符串保存开门和关门人的ID,变量ulk_time和lk_time保存当前开关门时间,N次读入,每次读入分别比较一下时间并更新变量,最后输出ulk和lkAC代码#include &lt;iostream&gt;#include &lt;cstdio&gt;using namespace std;int main(){ in...

2019-01-31 14:57:04 176

空空如也

空空如也

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

TA关注的人

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