主页

长除法计算平方根的c++版本(使用gmp高精度计算库)

写在前面 前几天给出了长除法的Python实现, 但是C++毕竟还是要更快的, 只是没有精度支持而已, 后来发现一个叫GMP的库可以实现, 下面来看下具体操作. 安装与构建 如果安装过llvm或者gcc, GMP其实是会附带安装的, 因为这些C编译器都需要GMP作为依赖. 这里我发现一个很奇怪的现象, 由于我电脑中有三种C++编译器, 分别是 xcode自带的clang(被alias为gcc, 14.0.0) 通过brew安装的clang(llvm, 15.0.6) 通过brew安装的gcc(12.2.0) 通过ChatGPT给出的GMP实例:(这个比较复杂, 后面直接用c++的mpz_class替代了) #include <iostream> #inclu...

阅读更多

谈谈我对上手macos的体验与感受+macos 常用快捷键一览

写在前面 不知不觉间,我的MacBook Air已经陪伴我走过近两年的时光了, 虽然都说M1芯片是小白鼠, 但是在我的体验中, 除了一些专有软件外, 其他的问题都能得到不错的解决. 这当然要归功于无私奉献的开发者们以及Stack Overflow的热心人们. 在从零开始配置Mac的时候当然也走了很多弯路, 但是现在我能说在配置Mac的一些开发环境方面也算是驾轻就熟. 这篇文章中, 我想从以下几点来说说我的选择与体验. 为什么没有继续使用win 开始学计算机, 最先接触的当然是Windows, 随着见识的增长, 其他操作系统才慢慢走进我的视野, 本科时候虽然使用win, 但是还是对Linux系比较感兴趣, 把Linux shell编程研究了个皮毛, 但是Linux(Ubuntu...

阅读更多

在makefile中使用空格缩进的方法

写在前面 我的编辑器默认都是通过空格代替Tab缩进的, 这就导致在使用Makefile时候会出现下面的错误: makefile:8: *** missing separator. Stop. 或者: makefile:7: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. 一开始看Stack 好像这个问题无解了, 但是后来一个人的回答让我眼前一亮, 在gnu make的4.2版本之后就可以通过一条语句完成空格代替制表位了: .RECIPEPREFIX := $(.RECIPEPREFIX)<space> 其中<space>用实际的空格代替, 即可. ...

阅读更多

Makefile Cheatsheet一些常用的代码段

写在前面 基本格式 target ... : prerequisites ... command 自动化变量 含义 $@ 目标文件名 $< 第一个先决条件(文件)的名称(常用) $^ 所有先决条件的名称(去重, 每个规则只出现一次) $+ 规则中所有先决条件列表(包括出现一次的和重复出现多次的)

阅读更多

在markdown代码环境中输入反引号的方法

方法 行间代码当然可以直接输入了, 无压力: ```bash 这里是反引号 ``` 这时候如果想嵌套表示, 即在代码环境中表示代码环境, 那么就可以这样写: ```` ```bash a=$s ``` ```` 那么在行内公式中呢? 直接反斜杠转义是不行的, 但是可以用两对反引号来表示, 像下面这样: ``这里是单个反引号`, 你也来试试`` 得到的结果如下: 这里是单个反引号`, 你也来试试 那么, 如果只想表示单个的反引号呢? 也很简单: `` ` `` 用空格隔开即可, 表示如下: ` 总结 用数量多的反引号来嵌套数量少的反引号即可.

阅读更多

编程语言中特殊符号的英文表示

写在前面 最近搞FLTK, 发现总是要复习(预习)一下Makefile的写法的, 但是很多符号不认识含义(这同时也出现在Shell编程中)并且直接google的话并不能搜到符号, 所以就很麻烦了, 后来想到这些符号都有英文读法的呀, 下面那就来一起认识一下, 也相当于学英语了. 参考1. 符号、英文与含义 符号 英文 备注 ` grave, back quote 反引号, 抑音符号, Shell中常用, 当然markdown也是 ~ tilde 波浪号, 颚化符号, 按位取反, 有的编程语言中用作不等于...

阅读更多

Fltk的ui设计工具fluid使用方法总结

写在前面 终于又捡起来FLTK了, 先来看看怎么通过FLUID创建一个图形界面并完成回调函数的创建, 参考的是官方教程中关于创建一个CubeView程序的例子, 教程里面很多都与最新版本的FLTK界面不太一致, 但是通过我的摸索还是找出了方法. 下面来分享一下. 创建类 直接点New新建各种类型即可, 一些注意事项在官方文档中给出了, 一些类或者组件的名称都用粗体标出来了(如下图), 需要对应, 不然后面回调函数连接不上. 在CubeViewUI类中主要实现了构造函数以及一个show方法, 用于显示窗体. 最后的结果如下, 这里其实主要是要看清楚是水平组件还是垂直组件, 这个很重要, 其次就是主窗体的大小, 配比要合适. 回调函数 其实就是两行, 主要用于五个主要...

阅读更多

长除法计算平方根的方法总结与代码实现(c++,python)

写在前面 之前总结了计算平方根的方法, 但是并没有给出手算方法的解释, 这次专门写一下手算方法. 据说这个方法是中国的数学家创造的, 我也没深入考证过, 总之就是非常经典了, 因为这个长除法算法(英文:Long Division Algorithm)可以计算任意精度的平方根, 也就是可以算小数点后的任意位, 下面来看看具体的方法与原理. 原理解释 代数 其实原理是基于这样一个式子: \(x^2=(10a+b)^2\iff x^2-100a^2=(20a+b)b.\tag{*}\) 就是说对于一个两位数$x$, 其平方(设其有4位)有这样的一种表示, 那么如果要计算某一个数$y=x^2$的平方根, 只需要通过长除法, 根据数的前面两位和后面两位迭代计算即可. 当然这样直接说显...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits