![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 57
shang_ch
道阻且长,行则将至,行而不辍,未来可期
展开
-
求一个补码表示数的原始值的三种方式
求一个补码表示数的原始值的三种方式原创 2023-03-10 14:22:09 · 540 阅读 · 1 评论 -
用位运算求一个数的绝对值
用位运算求一个数的绝对值转载 2023-02-20 18:01:58 · 920 阅读 · 0 评论 -
vim如何安装插件,离线和有网
vim如何安装插件原创 2023-01-17 20:07:05 · 747 阅读 · 0 评论 -
vim无使用系统剪切板
vim无法使用系统剪切板转载 2023-01-17 19:58:51 · 737 阅读 · 0 评论 -
十大排序(常用的几个)及测试代码
十大排序原创 2023-01-14 11:11:45 · 112 阅读 · 0 评论 -
如何解读标准单元库以及非线性延时模型(Non Linear delay model,NLDM)
解读标准单元库以及非线性延时模型原创 2022-12-09 16:07:04 · 564 阅读 · 0 评论 -
vim有关删除匹配内容的一些操作
vim有关删除匹配内容的一些操作转载 2022-11-30 16:22:25 · 1602 阅读 · 0 评论 -
浅谈git rebase命令 -- git修改历史提交信息
git重写历史提交记录原创 2022-11-15 16:39:17 · 1126 阅读 · 0 评论 -
shell脚本随笔
shell脚本通过for循环处理文件原创 2022-11-07 18:19:16 · 819 阅读 · 0 评论 -
linux下,如何寻找哪些文件包含指定的字符串
乱写乱说原创 2022-10-19 16:21:41 · 223 阅读 · 0 评论 -
异或和同或运算之间的等价关系
异或门和同或门之间的逻辑等价转换原创 2022-10-11 18:58:39 · 3938 阅读 · 0 评论 -
Latex表格
原创 2021-12-27 13:21:45 · 71 阅读 · 0 评论 -
AVX指令集
一、AVX指令集CPU依靠指令来计算和控制系统,指令集是指CPU能执行的所有指令的集合,每一类CPU都有其支持的指令集。比如说目前intel和AMD的绝大部分处理器都使用X86指令集,因为它们都源自于X86架构。但无论CPU有多快,X86指令也只能一次处理一个数据,但这种单指令单数据(SISD)的指令集效率并不高,因此,为了提高CPU的工作效率,需要增加一些特殊的指令满足时代进步的需求,这些新增的指令就构成了扩展指令集。一条指令操作多个数据(SIMD).是CPU基本指令集的扩展.主要用于提供fine转载 2021-12-26 17:03:49 · 13055 阅读 · 1 评论 -
GDB之调试回退
GDB之调试回退b mainrunrecord // 重中之重,且一定要在run后面执行(gdb) apropos reverserc -- Continue program being debugged but run it in reversereverse-continue -- Continue program being debugged but run it in reversereverse-finish -- Execute backward until just befor原创 2021-12-23 13:46:10 · 4940 阅读 · 0 评论 -
二进制浮点数以及二进制浮点数算术运算
二进制浮点数以及二进制浮点数算术运算二进制浮点数表示半精度浮点数单精度浮点数双精度浮点数特殊情况浮点数的运算步骤一、对阶二、尾数运算三、结果规格化左规操作右规操作四、 舍入处理五、 溢出判断六、例子二进制浮点数加法二进制浮点数减法浮点运算逻辑电路Reference二进制浮点数表示阶码(指数)就是指数位存储的值,而偏阶(移码)则不同精度的浮点数的偏阶也各不相同,具体可以查看指数偏差。Bias=2k−1−1Bias=2^{k-1}-1Bias=2k−1−1, 其中k是指数中的位数。半精度浮点数半精度原创 2021-12-19 16:34:31 · 10834 阅读 · 1 评论 -
树形加法器(Brent-Kung加法器)
树形加法器(Brent-Kung加法器)并行前缀加法器块g,p信号与并行前缀运算块g,p信号对、合并操作与区间合并进位计算的并行前缀表示并行前缀加法器的一个完整示例g[i,i+3]g_{[i, i+3]}g[i,i+3] 和 p[i,i+3]p_{[i, i+3]}p[i,i+3] 分别叫做“块 ggg 信号”和“块 ppp 信号”,代表了这个加法器从第iii bit到第 i+3i+3i+3 bit这个块的进位信息。它们的具体形式如:一般的 gi,i+ng_{i, i+n}gi,i+n 和 p原创 2021-11-30 09:09:12 · 5738 阅读 · 2 评论 -
如何创建python虚拟环境
如何创建python虚拟环境pip install virtualenv //安装virtualenv .venv --python=/usr/bin/python3.5(指定版本python的绝对路径) //创建虚拟环境,其中.venv是虚拟环境名,可以任意设置source .venv/bin/activate // 启动虚拟环境( .venv 是我的名字你可以自己命名)deactivate//退出虚拟环境若需切换版本,只需将第二条命令再执行一遍即可。若想保留当前虚拟环境,那么记得换个虚拟环境名原创 2021-11-16 10:14:19 · 679 阅读 · 0 评论 -
c++11 类默认函数的控制:“=default“ 和 “=delete“函数
c++11 类默认函数的控制:"=default" 和 "=delete"函数#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <vector>#include <map>//c++11 类默认函数的控制:"=default" 和 "=delete"函数/*C++ 的类有四类特殊成员函数,它们分别是:默认构造函数、析构函数、拷贝构造函数以转载 2021-11-12 15:31:12 · 126 阅读 · 0 评论 -
智能指针shared_ptr的用法
智能指针shared_ptr的用法shared_ptr的基本用法使用shared_ptr需要注意的问题为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer)。智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(除非将智能指针保存起来)。C++11提供了三种智能指针:std::shared_ptr, std::unique_ptr, std::weak_pt转载 2021-09-25 16:45:56 · 194 阅读 · 0 评论 -
什么是对象?什么是类?
什么是对象?什么是类?对象是一个自包含的实体,用一组可识别的特性和行为来标识。类是具有相同的属性和功能的对象的抽象的集合。原创 2021-09-18 09:20:41 · 268 阅读 · 0 评论 -
C标准库string.h源码(简单版)
C标准库string.h源码(简单版)strcpy/strncpystrcat/strncatstrcmp/strncmpstrchr/strrchr/strchrnul/strstrstrcpy/strncpychar * strcpy (char * dst, const char * src){ char * cp = dst; while( *cp++ = *src++ != '\0') ; /* Copy src over dst原创 2021-09-04 21:07:42 · 1751 阅读 · 0 评论 -
【C】malloc动态分配内存和free释放
这篇文章写的很好,拿来吧你。版权声明:本文为CSDN博主「朱又炖粉条」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/shimadear/article/details/80292671先看一个例子#include<stdio.h>int max=10; //data区,不产生具体的可执行代码。void main(){ //局部变量都在栈区。 栈内存自动分配,释放。堆需要手动mallo转载 2021-08-13 16:24:00 · 392 阅读 · 0 评论 -
YouCompleteMe(YCM)安装时遇到的问题(能遇到的几乎都遇到了)
首先YCM项目内有许多子模块,然而由于国内的围墙问题,所以下载github上的东西会很慢,解决方法一,去gitee上找对应的仓库解决方法二,github的解决方法首先需要装很多依赖(应该只需要python3.6、vim8.1以上)不过我把这个链接的依赖全部装了一遍。附上我看的两个最主要的:python3升级vim升级这些东西全部装完后,就可以到YCM的目录下进行编译了提前说明一下我的YCM是现通过vim-plug装的,装完后需要去YCM目录下(.vim/plugged/YouComplet原创 2021-08-11 20:07:17 · 7001 阅读 · 1 评论 -
如何理解 C++ 中的深拷贝和浅拷贝?
如何理解 C++ 中的深拷贝和浅拷贝?回答一:这个问题其实答案很简单,而且基本上每一本C++书都会提及,但是或许对于初学者并不那么容易的理解,所以我想尝试以我的比喻来讲解。我认为浅拷贝是一个不喜欢思考的懒汉,而深拷贝则是一个思维严谨,喜欢思考的人。对于懒汉来说,虽然给了他任务,但是他总是想尽量的少做一些事情,所以很多时候做出来的东西就是只看到了表面,不会去思考对不对。struct X{ int x; int y;};对于懒汉来说,他很直白的看到了x,看到了y,然后就拷贝x和y,然后就不原创 2021-07-26 18:54:46 · 161 阅读 · 0 评论 -
C++实现快速排序,最简单的代码(详细解读)
快速排序的过程是这样的:假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。 3 1 2 5 4 6 9 7 10 8方法其实很简单: 分别从初始序列“6 1 2 7 9 3 4原创 2021-07-22 22:10:52 · 11272 阅读 · 2 评论 -
程序查错——参数引用
程序查错——参数引用#include <string.h>using namespace std;const float pi = 3.14f;float f;float f1(float r){ f = r*r*pi; return f;}float& f2( float r){ f = r*r*pi; return f;}int main(){ float f1(float=5); float& f2(float=5);原创 2021-07-22 11:10:16 · 97 阅读 · 0 评论 -
C语言共用体(Union)
我们知道结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体或联合体(Union),它的定义格式为:union 共用体名{ 成员列表};结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了原创 2021-07-16 19:40:41 · 144 阅读 · 0 评论 -
详细解读函数指针与回调函数
详细解读函数指针与回调函数什么是函数指针函数指针的使用函数指针的定义如何使用函数指针函数指针作形参返回函数指针函数指针数组完整示例:回调函数概念回调函数的意义本文参考了一下文章,文章1文章2文章3文章4文章5什么是函数指针 函数指针也是一种指针,只是它指向的不是整型,字符型而是函数。在C中,每个函数在编译后都是存储在内存中,并且每个函数都有一个入口地址,根据这个地址,我们便可以访问并使用这个函数。函数指针就是通过指向这个函数的入口,从而调用这个函数。 函数指针就是指向函数的指针,指向某原创 2021-06-01 09:32:39 · 1430 阅读 · 0 评论