- 博客(5)
- 收藏
- 关注
原创 对计算机补码的一些理解
假定我们用4bit来表示一个数据,那么该怎么只用加法(而不用减法),来计算6(0110)-3(0011)呢?假设最终的结果为x,因为数据用4位表示,可以得到:x=(0110-0011)mod 1000 =
2021-03-21 22:39:50
288
原创 以对数复杂度求解斐波那契数(SICP 练习1.19详细分析--矩阵幂乘求斐波那契数列的变种)
SICP中的这道例题其实是矩阵快速幂求斐波那契数列的变种,所以我们先来简单的讲一下矩阵幂乘求斐波那契数列。一、矩阵快速幂求斐波那契数列大家都知道,斐波那契数列的通项公式是: F(n+1)=F(n)+F(n-1),令a=F(n+1),b=F(n),通过a=a+b ,b=a这两个公式进行迭代,可以得到线性复杂度的斐波那契数列求解算法。//C代码表示#include<stdio.h>//F(0)=0,F(1)=1int Fibonacci(int a, int b, int cou
2021-03-09 16:49:38
401
原创 虚继承中对象的构造顺序
虚继承中对象的构造顺序虚基类的构造首先虚基类的构造是通过最底层的派生类初始化,并且继承体系的每个类都可能在某个时刻成为最低层的派生类class A{public: A(){}}class B:virtual public A{public: B(){}}class C:virtual public A{public: C(){}}class D:public B,public C{public: D(){}}就比如说上面这一个例子,B b; //b是最底层
2021-01-07 15:45:23
1182
2
原创 浅谈EOF以及相关的一些问题
1、关于EOF(end of file)EOF不是一个特殊字符EOF并不存在于文件末尾EOF只是c/c++标准库中的一个宏定义,它的值是-1EOF并不是一个特殊字符,它也不存在于文件末尾以指示文件结束,它只是一个宏,一个函数执行读取操作时发生错误或遇到文件结尾时返回的值(-1)。还有一点,windows和linux操作系统并不需要一个EOF标志字符来指示文件的末尾,通过文件系统,它们自始自终都知道一个文件的确切大小(以字节为单位)2、文件结束标识符的由来虽然在windows和linux操作
2020-09-13 14:29:34
911
原创 浅谈对二分查找最大次数的理解
首先列出二分查找最大次数的公式 |log2n|+1(|x|为不大于x的最大整数)接下来谈一谈我的理解:数组大小 查找的最大次数1(2^ 0) 12(2^1) 24(2^2) 3当数组大小为8时(a[0],a[1]…a[7]),(第一步)对半查找取a[3],之后数组划分为a[0],a[1],a[2]和a[4],a[5],a[6],a[7],因为我们要次数最大...
2020-02-17 21:33:37
10567
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人