NJU-ICS-Section2-复习Note 数据的机器级表示与处理
Section 2 :数据的机器级表示与处理 ——数值数据的表示 关于高级语言->机器语言 表示 链接 执行 本章主要学习数据的机器级表示 Intro. Kahan 累加算法 浮点数存在误差 4000000 个 0.1(float) 相加(C 语言)结果可能不是 400,000 为了解决累加误差,有经典的 Kahan 累加算法 1234567891011function KahanSum(input) var sum = 0.0 var c = 0.0 //A running compensation for lost low-order bits. for i = 1 to input.length do y = input[i] - c //So far, so good: c is zero. t = sum + y //Alas, sum is big, y small, so low-order digits of y are lost. c = (...
ICS-PA日记-PA2
概况 本实验通过了所有 OJ 样例,实现了所有必做功能。 必答题备忘链接: 程序是个状态机-理解YEMU的执行过程 整理一条指令在 NEMU 中的执行过程 程序如何运行-理解打字小游戏如何运行 编译与链接 1 编译与链接 2 了解 Makefile 不停计算的机器 理解 YEMU 如何执行程序 理解 YEMU 如何执行程序 YEMU 可以看成是一个简化版的 NEMU, 它们的原理是相通的, 因此你需要理解 YEMU 是如何执行程序的. 具体地, 你需要 画出在 YEMU 上执行的加法程序的状态机 通过 RTFSC 理解 YEMU 如何执行一条指令 思考一下, 以上两者有什么联系? 画出在 YEMU 上执行的加法程序的状态机 在 YEMU 上执行的加法程序为: 12345678910uint8_t M[NMEM] = { // 内存, 其中包含一个计算z = x + y的程序 0b11100110, // load 6# | R[0] <- M[y] 0b00000100, // mov r1, r0 | R[1] <-...
金融大数据处理技术(FBDP) lab1 日志
实验概况 本实验是南京大学计算机金融实验班 2023 级,金融大数据处理技术 (FBDP) 的 Hadoop 实验 1,主要是熟悉环境配置。 设备:Macbook Pro M4, ram: 24g docker + ubuntu 22.04 hadoop-3.4.2-aarch64 任务 1 环境准备 我们先用 docker 部署一个单机伪分布模式。 在终端 (我使用 iTerm2 -zsh) 输入 docker exec -it <container_id> /bin/bash 进入容器 sudo apt install 安装 vim 以修改设置 docker cp 命令将宿主机 Mac 下载好的 Hadoop 文件传输,解压,配置环境变量。 vi ~/.bashrc 123456789export HADOOP_HOME=/usr/local/hadoopexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$...
ICS PA1 report
前言 这是 ICS PA 要求提交的实验报告。一份更具有生活化气息的通关日记待我总结一下通关全流程,修一点 bug 再来更新~ 实验进度 我完成了 PA 1 的所有内容,通过了所有测试样例,并为了调试方便,加入了逻辑与或非等运算符。 一些问题和思考 为什么 printf() 的输出要换行 事实上我经常忘记加换行,但我发现这样就会出现 <some word you print balabala> (nemu) ,这会使得终端页面异常丑陋,同时输出可能堆叠在一堆里,不好看。 同时,printf() 写到标准输出 stdout 并不是立刻刷新,而 \n 起到一个刷新的作用,使用换行符能及时显示,避免程序异常退出导致缓存区 log 信息没有输出。 再探表达式解析 - 分治法和栈 我在大一的 程序设计基础实验 曾经完成过一个基于 Qt 的图形化计算器,可以计算包含括号的、有小数和负数的四则运算计算器。 事实上,当时我对于 - 的多义性(二目运算符 SUB? 单目运算符 NEG ?)的处理是采用了复杂的分类讨论。由于我用栈+后缀表达式实现算术式解析 (我曾经参考的文章) ,我...
日区旅游攻略(转载)
前面的话 Kold:这是我的朋友zzm去日本游玩后写的攻略,得知我也想去日本看BanG Dream十周年后,特授权给我发布博客上,更方便阅读。 原作者主页:戳我 机票篇 购买时间 淡季机票提前一个月到到一个半月购买为佳,提前一个月以上可能价格不会是最佳并且航司选择也不怎么丰富 旺季(樱花季/枫叶季/国内假期) 购买机票提前越早越好,但不建议国内假期出行(十一,五一)机票动辄3,4千起 购买时的细节 可以多比对几家平台,国内平台还有一些国际平台(容易捡到国外航司低价),地域上,上海机票显著便宜于国内其他地方,如果位置方便,对时间要求不严格, 强烈推荐去上海买机票 如果准备去🇯🇵买东西,一定要注意行李额,提前在网上买行李额比值机的时候买便宜,而且提前买可以买双程行李额(一定要注意出票的时候两程或是中转的机票行李额能不能对上,有的机票来回的行李额不一致) 如果买中转票,注意中转时间,在小红书上搜你的机场最适宜的中转时间,建议国际中转3个小时以上(国际机票提前一个小时停止值机)。去大阪就关西国际机场,东京优先羽田机场,羽田机场离市区近,交通便宜,而且有的航线飞机上可以观察富士山 最...
ICS-PA日记-PA0
这学期选了大名鼎鼎的 ICS,在刘杰老师班做 RISC-V 的 PA 实验。写一篇博客,来记录踩过的坑和心路历程。 PA 实验手册可参考:PA 实验手册 PA 0 主要是环境的安装和配置,我采取的方案是 MacOS 用 Windows App 连接阿里云服务器 (Ub untu 22.04) 做实验。本来以为在计算机网络课上完之后,对配置远程连接已经不在话下。但是还是遇到了一些问题。 在希望的道路上,曲曲折折的前进 运行环境搭建 1. 环境准备 云服务器:阿里云 Ubuntu 20.04 用户:kasumi(非 root,避免直接用 root 破坏环境) 之前的计网实验我都是用 root 账户做的,还沾沾自喜不用 sudo 真方便,现在看来是隐患极大的… 桌面环境:xfce 4 + xrdp 配置远程桌面 GUI,是为后面的 PA 需要一些图形化内容做准备。这个方案我的 Windows 和 Mac 都可以很方便访问阿里云的 Ubuntu,很方便我做实验和玩耍 目标:能跑 make menuconfig,配置并启动 PA 框架。 2. 安装和基本配...
现地记录: 8.23 Poppin' Party
我一直认为一场 live 的心动体验从官宣资讯的时候就开始了,未来的心动被预支一部分到此时此刻,开始准备无料,约小团体,紧锣密鼓的准备抢票。这种预支投资的收益率有多高呢? 譬如心灰意冷却峰回路转得回流票,心灵的震颤,手机都拿不稳; 制作无料得到夸奖并收获大家的礼物,随手放在某角落的无料居然能被拾起并看到小红书返图。 诸如此类,都会使我幸福很久很久。 感受人与人的连结;再到走进现场,感受任何屏幕都无法还原的临场感,那种让人想拼命呼吸,超频自己的心跳,拼命远目到极限的感觉,称得上来到生命延伸着的原野。人生常常孤独,东体门口麦当劳和星巴克却有着人类共同体的光景, 一起跃动喊出的『Twinkle』却如此整齐洪亮,无论纯良还是神人,长幼妇孺,皆知闪闪发光心动不已也。 跑现地的另一大魅力就是小团体了。当一群 bangdreamer 聚集在一起,你惊喜的发现自己的亲友,同学,老乡,或仅仅素未相识的同车厢的小哥,背着你再熟悉不过的棉花娃娃的时候,连结已经产生了。喝下化棒泡酒的耀眼光芒,或是纯良一杯杨枝甘露,干杯的一刹那,天涯共此时,因为热爱,所以好像什么都可以原谅。 [^1] 下面说说演出本...
从Word通配符到正则表达式
Word 通配符 关于 Word 通配符,可以阅读这一篇文章 知乎文章-Word中查找和替换通配符用法介绍(完全版) 对于我,我是在南京证券实习过程中,用 Dify制作大模型的知识库时候,需要对 Word 格式的券商知识文件进行分块处理,希望快速查找类似于 一、 二、 这样的文本,然后替换加上分块标识符号,比如 ## 人工查找对于大文章来说比较麻烦,对于 Word 有方便的方法:使用通配符。 具体来说: [ ] 中的内容属于指定字符查找,类似 输入“[中美]国”就可以找到“中国”、“美国”。又如: * 是匹配任意的 1 个字符 对于替换,^& 是上面查找所找到的文本。相当于保留。 所以就能达到效果。
算法成长日记
前面的话 到大三了才深刻意识到自己算法基础的薄弱,趁暑期有时间应该多做一些算法题。 写一个 c++小算法还不如大一的自己了。所以在这里分享一些。 更新了分类栏目。 争取每工作日做一道题。 POPIAPA,PIPOPA, POPIPAPAPIPOPA! 其他小知识 树状数组 树状数组-利用 lowbit 的特殊数组数据结构,有奇效 前置知识 lowbit lowbit 即一个 $n$ 的数用二进制表示,其最低位的为 1 以及其后的 0 组成的数。 $44=(101100){(2)}$,$lowbit((101100{(2)}))=(100)_{(2)}=4$ 怎么得到呢? 将这个数取反,然后+1(这其实等价于取负),再和原来的数 与 就好了。 可以论证,$lowbit(x)=x&(-x)$ 通过树状数组结构可以快速得到一个数组某个位置前面的数 (作为一个数,它前面的数是它的子节点) 注意:$t[x]$ 保存以 $x$ 为根的子树中叶节点的值的和。$t[4]=t[2]+t[3]+a[4]=a[1]+a[2]+a[3]+a[4]$ 观察进一步发...





