自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 区块链期末复习3:跨链原子交换&其他加密货币

1)Alice创建secret(x),计算哈希值。(注意这个secret不能提前公布,而哈希值可以公布)2)Alice把1 BTC放在tx1中,tx1先不广播上链。Bob需要知道secret才能拿走tx1中的这笔钱。3)Alice用48h时间锁创建赎回交易tx11,如果tx1中的钱没有被Bob取走,Alice可以在48h后从tx1中拿回自己的这笔钱。Alice需要请求Bob在tx11上签名,使之有效。4)tx1广播上链5)Bob通过x的哈希值,创建交易tx2,把3 BCY放在tx2中。

2024-12-30 20:59:06 1082

原创 计算机体系结构期末复习4:多处理器缓存一致性(cache一致性)

针对多处理器cache一致性问题,着重介绍写返回cache的一致性处理。介绍MSI,MESI,MOESI协议,

2024-12-29 16:32:00 1124

原创 计算机体系结构期末复习3:GPU架构及控制流问题

简单介绍GPU的多线程与单指令多线程,详细介绍GPU的控制流问题以及如何应对分支分歧

2024-12-28 21:38:49 1245

原创 计算机体系结构期末复习1:分支预测

CPU流水线指令存在控制相关,面对分支跳转情况未知的情况,可以选择阻塞或者提前预测。分支预测方法分为静态和动态,本文着重介绍动态方法,涵盖两层预测器、2bits饱和计数器、GHR、PHT等关键方法和结构。

2024-12-27 16:18:01 1141

原创 区块链期末复习3.2:比特币脚本

Alice在使用流量的时候,每隔一分钟就签名一次,向Bob支付这分钟所产生的流量费用,然后把剩余的钱转给自己,每分钟重复一次,直到挂机为止。3)高效小额支付:对于持续支付小额资金的场景,比如客户向流量提供商支付每分钟的流量费用,每分钟支付一次是不现实的。4)锁定时间:为了避免高效小额支付中提到的问题,Alice会在最开始和Bob签订退款协议:如果时间t内Bob没有在最后一个交易上签名,Alice可以通过退款交易收回所有资金。比如A,B,C三人合伙开公司,他们的账户具有A,B, C三人对应的公钥。

2024-12-26 22:16:44 1309

原创 区块链期末复习1.1:密码学哈希函数

即哈希之后的内容可以代表哈希之前的内容。比如一个文件很复杂,我们要判断这个文件有没有损失,只需要对比文件前后的哈希值是否相同。(如果损坏了,根据碰撞阻力,哈希值会改变)

2024-12-25 19:44:15 1372 4

原创 博弈论3:图游戏&SG函数(Graph Games)

给出一个有向无环图G(X,F),两个玩家交替行动。利用SG函数,掌握必胜策略。

2024-12-15 09:47:59 848

原创 博弈论2:尼姆游戏(取物游戏)(Nim Game)

两个玩家,I & II,每轮交替行动有三堆筹码,筹码个数分别为x1,x2,x3(xi都是正整数)每轮游戏中,选取一个非空的筹码堆i从堆中取走>=1个筹码(拿走一个或更多个,最多把这一堆拿空)拿走最后一个筹码的人获胜。(拿完之后三堆都没有筹码了)

2024-12-14 12:03:09 2588

原创 博弈论1:拿走游戏(take-away game)

两个玩家,I与II一套通常有限的可能位置(positions)游戏规则指定了两个玩家的合法行动;若规则对于两个玩家没有差别,则为无偏游戏,反之为有偏游戏。玩家I和II交替行动抵达其中一个位置时,游戏结束,同时下一个玩家无法行动。一般(normal)游戏规则是,最后一个完成行动的玩家获胜;misère(不幸)游戏规则相反,最后一个完成行动的玩家输掉游戏。如果游戏永远不结束,陷入了平局(draw),必须要增加额外条件(也就是增加Ending Condition),来终结平局,评出胜负。

2024-12-14 10:38:46 1074

原创 socket编程UDP-实现滑动窗口机制与累积确认GBN

本篇博客,我将实现滑动窗口机制,完成客户端发送服务器接收的累积确认(GBN)。

2024-12-13 11:09:12 1438 1

原创 socket编程UDP-实现停等机制(接收确认、超时重传)

本篇博客,我将实现停等机制,完成客户端发送的接收确认、超时重传,已经服务器端相关的代码。

2024-12-13 11:08:10 1051 2

原创 socket编程UDP-文件传输&模拟TCP建立连接脱离连接(进阶篇)

包含完整源码,实现由浅入深,包含详尽解释。实现UDP服务器端客户端的文件传输,并且用UDP模拟了TCP的连接过程(检测连接过程的丢包,实现超时重传)

2024-11-26 17:31:39 849

原创 UDP介绍&socket编程(C++):数据报传输(基础篇)

包含UDP介绍、socket编程API、服务器与客户端完整源码。通俗易懂、全面详细。

2024-11-26 17:30:28 1352

原创 教你读懂Bison语法分析代码,掌握基本符号

一文教你看懂Bison代码,可以初步上手,适合知道语法分析,但读不懂代码的小白。

2024-10-23 20:47:05 1965

原创 C++按空格解析string字符串,获得子串

比如字符串格式为“Create [Password]”,需要按照空格依次解析出“Create”“”“”“[Password]”几个子串。”,依次获得子串“JOIN”“bestroom”"3""2839ahs""很好"message中保存了输入的一行字符串,通过(iss>>token)把子串获取到token中,再把token存进substrings向量。

2024-10-18 10:04:35 304

原创 C/C++socket编程基本API、TCP示例程序代码

基于UDP(不可靠,但保证时延和带宽):-客户端:socket->(可以省略:bind)->sendto/recvfrom->close-服务器端:socket->bind->sendto/recvfrom->close·基于TCP(面向连接,可靠传输,不保证时延和带宽):-客户端:socket->(可以省略:bind)-->connect->send/recv->close。

2024-10-16 19:55:30 1395

原创 VS终端打印中文成乱码解决方式

【代码】VS终端打印中文成乱码解决方式。

2024-10-16 19:34:47 376 1

原创 远程连接github仓库,push与pull获取或上传更新

如果你执行“git pull”或者“git merge”时遇到问题,多半是因为你在本地的更改与远程仓库的更改出现了冲突(比如你们把同一段代码修改成了不同样子),那么这需要你手动解决冲突(Bash界面会告诉你冲突的文件,需要你自己手动更改)在github网页点开你想要远程连接的仓库,再点击右上角的“Code”:可以看到下方框中有http://xxx.git,点击右边的复制按钮,把这个链接复制下来,一会儿要用。完成这三步之后,你应该已经成功把更新同步到了远程仓库,你可以在github网页的仓库中检查你的更改。

2024-10-02 11:07:05 1181

原创 Linux系统下PATH(环境变量)的修改增删、注意点、易错点及解决办法(以wsl下的~/.bashrc文件为例阐述)

在Linux及类Unix系统中,`PATH` 是一个环境变量,用于指定系统在执行命令时搜索可执行程序的路径。简单来说,当你在终端中输入一个命令(比如 `gcc`),系统会根据 `PATH` 中定义的路径来查找相应的可执行文件。常见疑惑可以。比如下面的这个PATH示例,“/mnt/d/download/riscv64/bin”路径出现了两次,但并不影响实际使用。环境变量中可以有重复路径。

2024-09-05 09:47:32 3832 1

原创 在Visual Studio Code终端运行指定CPP文件(wsl)

此时输入“g++ -o out_file try.cpp”,再输入“./out_file”即可运行,该目录下指定的CPP文件了。此处我的CPP文件名为 try.cpp,你可以替换成你的CPP文件,out_file可以写成任何英文,作为可执行文件的名称。而我想运行的CPP文件存储在本机的d/优快云/terminal_run_wsl,又因为wsl的存在需要先进入/mnt,于是按下图的输入进入对应路径。当VS Code中存在多个cpp文件,或者想利用wsl来运行指定程序时,需要用到终端terminal。

2024-05-23 11:35:51 2399

原创 Xshell常用指令(已经连接到华为鲲鹏服务器)

mv old_file.txt new_file.txt:将old_file.txt重命名为new_file.txt。- cp old_file.txt new_file.txt:将old_file.txt复制为new_file.txt。- mv old_file.txt new_dir:将old_file.txt移动到new_dir目录下。在`nano`编辑器中,按下`Ctrl + X`,然后按`Y`,最后按`Enter`。- rm old_file.txt:删除名为old_file.txt的文件。

2024-05-13 20:34:12 1672

原创 突然打不开Visual Studio的解决方案

问题背景:之前都能正常使用VS,用着用着其他软件,再打开VS失败,弹出对话框显示让我重置环境变量。这将启动VS的安装程序 提供修复选项来重置VS的设置。执行这三步之后,能正常打开并运行VS。1.发现C盘已满后,清理C盘存储。

2024-04-25 10:56:17 2041 1

空空如也

空空如也

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

TA关注的人

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