- 博客(113)
- 收藏
- 关注
原创 单精度浮点为什么bias(偏置值)等于127?
这个问题好像其实一直有很多讨论。。。。。。网上的结果其实不太能让我信服,我觉得缺少了一种自然。我们知道,单精度浮点是8位表示指数的。按照无符号数而言00000000~11111111八位数,那么就是256种可能性,0~255都可以涉及到IEEE 754把0和255归类到非规格化数和无穷大那了,所以我们还剩下1~2541~254刚好有254个数,取中间值就刚好127,所以bias就127,可以表示[...
2018-04-11 20:58:34 13024 17
原创 无符号数和有符号数在编程里的一些坑
这些都是截取赵欢老师上课时候的ppt第一个第三个没有解释我谈一下自己的观点好了hh第一个我们unsigned i,单纯的说,无符号数怎么样都是大于等于0的,所以说这是一个死循环。有的同学可能会说,无符号数小的减去一个比自己大的数会怎么样呀?其实无符号数和有符号数是一样的,都是加上减数的补码0111减去0100(7减去4)那么其实就是0111加上1100等于0011(进位1丢弃)结果等于0011(4...
2018-04-11 19:55:39 2466 1
原创 csapp第二版(数据的表示~整数
----关于分析数据类型的表示范围csapp 第二版 32页这个图让我们如何对一个类型进行数据分析给予了一点启示char是被分配一个字节的,一个字节八位(8bits),没有说明是无符号的所以就认为是有符号的,根据补码规则,正数最大值为2的七次方减一等于127(因为第一位权重为2的七次方但是为了表示正数设为0)而负数的最小值为2的七次方(因为第一位权重为2的七次方,而且为了表示负数设为1)。在这里我...
2018-04-06 09:54:59 484 2
原创 csapp 课堂小结 计算机存储数据,数据表示
这节课老师讲的比较多而且知识点也比较散,得好好整理一下梳理一下1、语法有没有问题和有没有漏洞是两回事,编程的时候应该注意计算机的底层如何实现你的逻辑,要做到每一步都要在你的掌控范围之内。2、漏洞经常由于一些变量的算术运算造成3、电容来存储1、04、int x 声明一个变量,它的数据在机器内部连续的存储的5、long在平台移植性上有关系,因为别的变量在不同的机器上被分配的字节数目是一样的,但是lon...
2018-03-31 14:57:29 294
原创 CSAPP课堂小结
呼呼。。。。。。最近终于稍微空闲一点点了赶紧总结一下上个星期学的一些知识。(下面这些ppt都是来自湖南大学的黄立达老师教授的计算机系统课程)1、扩展位数传递他主要分为了两种扩展,0扩展和符号扩展这三个图还是相当清晰和直观的。这里可能有点问题的是后缀的问题例如最后一张图的movsbl %dh,%eax这里s代表了符号扩展b代表了移动%dh里面的高八位,也就是一个字节bytel代表了移动过去的%eax...
2018-03-31 12:48:01 462 1
原创 初识c语言汇编代码
(ppt来自湖南大学黄丽达老师讲授的计算机系统)老师上课说道其实右边的汇编代码是不完全的,老师只是想让我们把注意力关注在刚学的mov代码上,老师做了一些删减。已知xp在%ebp+8上,y在%ebp+12第一行的汇编代码说的是,把传进来的int型指针xp的值传递给%edx。第二行说的是,我们把内存地址为%edx存的值的存储单元的值移动到%eax寄存器里。在这里可能有同学会犯糊涂了,为什么不直接把%e...
2018-03-20 16:56:06 407
原创 初识汇编(csapp 第二版)
汇编语言其实处于高级语言和机器语言中间。机器语言虽然编写出来的程序执行效率非常高,但是一串01010101真的太难看了。汇编语言的作用就是改善机器的可读性,用一些符号来将cpu的各种资源符号化,简单来说就是更容易阅读和编写啦。汇编语言是面向处理器的,它操作的对象是寄存器或者是存储器,所以说速度也挺快,但是相对应的也变得复杂,不直观。picture1AT&T的汇编语言格式如下,可能需要一些时...
2018-03-20 16:08:07 662
原创 初识寄存器,字,大端小端(csapp第二版)
寄存器的处理速度相当快,它的基本单元是D触发器,操作速度快,但是存储容量小,占用面积大,所以数量相较而言较少。Picture2(ppt来自湖南大学黄丽达老师教授的计算机系统)从图中可以看出,我们的8个32位寄存器都有固定的名称。通常来说,寄存器都是由它的名称代表,而不说它的地址,地址常见于指代内存的存储单元。学习汇编的时候我们需要对存储器的位数、名称、以及一个存储器的内部的
2018-03-20 15:49:04 1439 1
原创 分治的算法复杂度计算(计算机算法设计与分析--王晓东)
今天上课遇到了计算归并排序的时间复杂度计算这个最后的结果是T(n)=O(nlogn)让我疑惑的是上课的时候老师的这张ppt按照这个道理来说,a=2,b=2,那么我们的T(n)应该等于O(n)是哪里出错了呢?我再仔细看一下ppt,我发现了一个问题,那么就是这个算法是要d(n)不大的时候,时间复杂度才能这样算。这是一个什么概念呢?我们这里T(n/2)和O(n)比较,后面的O(n)其实和T(2/n)比较...
2018-03-19 23:16:55 2439
原创 学习插入排序有感
最近在学数据结构与算法设计,里面插入排序让我想了一下算法思想:(假设排成递增序列)一开始把第一个元素看作有序的,然后从这个元素的后一个元素开始依次往前比较,遇到了比它大的则交换,直到遇到了比它小的或者已经移动到了整个序列的第一个位置为止。代码如下void inssort(int arr[],int n){ for(int i=1;i { for(int j=i;j>0&&arr[j-1]>arr
2018-01-18 08:56:02 528
原创 图论-拓扑排序(学习数据结构与算法分析 C++第三版—clifford A.Shaffer著)有感
”将一个DAG(有向无环图)中所有顶点在不违反前置依赖条件规定的基础上排成线性序列的过程称为拓扑排序。”在书上给了两个算法,一个是基于DFS,一个是基于队列统计入度来做。其实我觉得这两个算法的根源,其实就在于一个顶点(当然啦,在实际应用中可能是任务、工程等等等等。。。。。。)它的前置条件条件有多少?DFS的末端,其实就是一些前置条件尽可能多,注意,是尽可能多的点,因为你不断的深入,也就
2017-12-18 15:03:16 1596
原创 今天实现二叉树的时候遇到了一个很有意思的问题
之前写的时候并没有注意那么多,想着return p放在else里面还是外面都不成问题但是放在else外面的话会报错,说并没有定义这个字符我就奇了怪了,我不是在else里面定义好了吗后来我想了一想这样子也是有原因的我们的函数有可能一直都不进入else虽然逻辑上我们之前的return NULL就足以保证安全但是显得并不十全十美
2017-11-17 23:32:38 313
原创 C++指针,小心晕针
今天写了个程序,没有想到学到了一个新的知识点。一开始我的p是指向了a这个错误的原因是我们delete的内存并不是我们一开始new出来的内存,做出修改delete掉p指向的一开始new出来的内存,还可以指向别的内存,使用起来还是挺好的。
2017-11-04 10:57:05 355
原创 链式队列!
#includeusing namespace std;templateclass node{public: E data; node*next; node(E it=0,node*p=NULL) { data = it; next = p; }};templateclass Queue{private: node
2017-11-03 17:08:57 311
原创 链式栈
实现:#includeusing namespace std;templateclass node{public: E data; node* next; node(E it, node*p = NULL) { data = it; next = p; } ~node() { cout<<data<<endl; cout<<"析构函数"<<endl;
2017-11-03 15:24:24 291
原创 stack(栈)!基于顺序表实现
这个星期学到了栈。老师一开始就给我们明确一个概念,我们有堆,有栈,但是没有堆栈!!!O(∩_∩)O我们先明确一下stack的概念吧。栈(stack)是限定仅在一端进行插入或删除操作的线性表。成为“LIFO”线性表,意思是“后进先出”,(last in first out)术语:top(栈顶元素)--可访问元素push(入栈)---元素插入pop(出栈)--元素删
2017-11-03 08:21:37 336
原创 自己基于指针实现双链表(1.0)(shaffer教材)
双链表和单链表其实其实起来大同小异。双联表其实就是每一个节点都有前驱和后继,可以说,整个双链表的具体实现起来比单链表更加灵活,但是增加了结构性开销(前驱)。有以下几个异同点:1、因为双链表中每一个节点都有前驱和后继,那么我们现在curr可以是真正的curr了!2、还是关于tail节点,究竟tail结点是没有实际内涵还是指向最后一个实际节点呢?在我看来,如果你的cur
2017-11-03 00:56:55 322
原创 自己基于指针实现单链表(1.0)(shaffer教材)(2.0)
因为数据结构的代码没有最好,只有更好,因此在文章后面加个版本号记录一下自己的代码变化hh。基于单链表实现线性表我们有几个点需要注意一下:1、curr的位置应该是“我们想象的”当前位置的前一个位置举例子:1,2,3,4,5,我们如果想在3插入位置,那么curr就应该设定在2如果我们设定在3,那么我们就无法找到3的前驱2来修改它的后继。有补救方法,记录当前是第几个节点,
2017-11-02 23:30:15 268
原创 关于Clifford A.Shaffer老师数据结构与算法分析中里用链表实现线性表的具体实现的感想
看了shaffer老师的代码,觉得这里面有很多值得学习的地方,下面一一阐述。(单链表)templateclass Link{public: E element; Link *next; Link(const E&elemval,Link*nextval=NULL) { element =elemval;next=nextval; } Link(Link*nextval=N
2017-11-01 13:56:56 1366
原创 基于顺序表实现线性表
大家好呀~好久没有和大家见面啦~~~进入大二了然后现在学业有点忙呢hh,做的题目少了然后时间利用的不是很有效率~所以说写一下博客来督促自己学习吧~今天使用程序实现了一下线性表。这次突破了一下自己使用了类模板,以前我都是直接在函数声明之后马上就实现,但是今天我想让整个类变得更加简明扼要一些,所以采用了类外实现。然后类外实现发现我们还要有一些要注意的地方~就是实现函数之前,都要加一
2017-10-31 22:54:20 534
原创 关于c++的数组的初始化探讨
这种初始化方法可能会有同学觉得会让所有的元素的值为0,但实际上就是第一个元素为1,其他元素为0我想了一下,可能平时大家都是写成 所以有这样的一种错觉,觉得花括号里面的数字让所有的元素的值为0如果我们,没有进行任何初始化的操作会出现什么呢就是可能会出现一些随机值,所以说在声明一个数组的时候最好及时进行初始化,要么可能会出现不可意料的情况发生。
2017-09-15 20:06:17 246
原创 201412-2 Z字形扫描
问题描述试题编号:201412-2试题名称:Z字形扫描时间限制:2.0s内存限制:256.0MB问题描述:问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对
2017-09-15 11:03:51 269
原创 201403-2 窗口
问题描述试题编号:201403-2试题名称:窗口时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的
2017-09-15 10:33:34 611
原创 201409-2 画图
问题描述试题编号:201409-2试题名称:画图时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给
2017-09-15 10:15:11 233
原创 201512-2 消除类游戏
问题描述试题编号:201512-2试题名称:消除类游戏时间限制:1.0s内存限制:256.0MB问题描述:问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个
2017-09-15 09:51:54 314
原创 201604-2 俄罗斯方块
问题描述试题编号:201604-2试题名称:俄罗斯方块时间限制:1.0s内存限制:256.0MB问题描述:问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者
2017-09-15 09:39:37 2093
原创 201609-2 火车购票
问题描述试题编号:201609-2试题名称:火车购票时间限制:1.0s内存限制:256.0MB问题描述:问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的
2017-09-15 08:43:02 247
原创 201612-2 工资计算
问题描述试题编号:201612-2试题名称:工资计算时间限制:1.0s内存限制:256.0MB问题描述:问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人
2017-09-15 08:40:02 810
原创 201703-2 学生排队
问题描述试题编号:201703-2试题名称:学生排队时间限制:1.0s内存限制:256.0MB问题描述:问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,
2017-09-14 22:45:52 284
原创 201312-2 ISBN号码
问题描述试题编号:201312-2试题名称:ISBN号码时间限制:1.0s内存限制:256.0MB问题描述:问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符
2017-09-14 16:52:30 191
原创 201403-1 相反数
问题描述试题编号:201403-1试题名称:相反数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1
2017-09-14 16:51:53 271
原创 201409-1 相邻数对
问题描述试题编号:201409-1试题名称:相邻数对时间限制:1.0s内存限制:256.0MB问题描述:问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所
2017-09-14 16:49:04 259
原创 201412-1 门禁系统
问题描述试题编号:201412-1试题名称:门禁系统时间限制:1.0s内存限制:256.0MB问题描述:问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者
2017-09-14 16:44:55 336
原创 201503-1 图像旋转
问题描述试题编号:201503-1试题名称:图像旋转时间限制:5.0s内存限制:256.0MB问题描述:问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应
2017-09-14 16:40:46 226
原创 201512-1 数位之和
问题描述试题编号:201512-1试题名称:数位之和时间限制:1.0s内存限制:256.0MB问题描述:问题描述 给定一个十进制整数n,输出n的各位数字之和。输入格式 输入一个整数n。输出格式 输出一个整数,表示答案。样例输入2015
2017-09-14 16:14:52 262
原创 201604-1 折点计数
问题描述试题编号:201604-1试题名称:折点计数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也
2017-09-14 16:08:06 432
原创 201609-1 最大波动
问题描述试题编号:201609-1试题名称:最大波动时间限制:1.0s内存限制:256.0MB问题描述:问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天
2017-09-14 15:58:39 349
原创 201612-1 中间数
问题描述试题编号:201612-1试题名称:中间数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同
2017-09-14 15:52:13 456
原创 201703-1 分蛋糕
问题描述试题编号:201703-1试题名称:分蛋糕时间限制:1.0s内存限制:256.0MB问题描述:问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明
2017-09-14 15:46:02 269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人