说到情怀,我首先想聊几句电子计算器的历史。电子计算器这种东西,在最近这几十年的人类发展中,曾经起到过相当重要的作用,尤其是在七十年代到九十年代初这个时期,大型的全功能电脑贵得要命,有钱有时也买不到,而集成电路的发展又让小型电子计算器的制造有了可能性,所以当时很多计算工作都交给这种体积适中而且功耗小的设备了,因为用这些设备工作起来比那种手摇式的计算装备要快得多。记得有个人说过,七十年代国防工作算弹道用算盘打得太慢,满足不了需要,于是山东某厂用晶体管做那种体积是台式机几倍的大计算器,过了几年有人从日本带回来巴掌大的卡西欧,于是巨无霸停产。后来随着电脑慢慢普及,真正计算密集的工作和编程较为复杂的工作都交给电脑来做了,所以电子计算器这种东西也被慢慢边缘化。

现在最常用到电子计算器的场合就是商店、银行等地方,这些地方用的计算器都是简单的“卖菜机”;然后还有一个场合就是学生的学具,这个是函数型科学计算器和图形计算器的地盘;当然还有不少计算量相对不大的科研或工作场合也是需要使用科学计算器的。而这些场合的性质也决定了今天卖得出去的计算器都是廉价且上手容易的,典型代表如卡西欧82、991还有全球漫天飞的仿制品。其实这些计算器虽然外观塑料感,购买容易,但是功能上是一点不差的,除非卡西欧等厂商为了甘当学具而为某些国家砍掉某些功能。而且得益于半导体技术的进步,普遍比老式计算器快很多,如果这些计算器拿到八十年代,或者更厉害一些的彩屏图形计算器拿过去,我相信使用者们也会接受。

但是计算器的黄金年代不像现在这样。比如1982年的HP-15C高级编程型科学计算器打的广告是“a Problem Solver”,附带两本厚书作为说明书,详细列举了很多科研场景和工作场景如何用计算器计算。那时候的计算器液晶屏用料节省,芯片速度慢,但是外壳什么的铝合金和高档塑料是家常便饭,而且通常高级些的计算器不配保护壳而配皮套。由于那个时代的计算器为工作设计而不为教学设计,所以上手会困难一些,但是用熟练之后效率比现在所谓的自然显示上下左右键按得飞起的学具要高不少,而且只要能实现的功能都会想尽办法实现,不会像学具那样砍功能。

说了好多,下面开始说下这篇文章我想介绍的东西:Free42模拟器和与之对应的HP-42s计算器。这个HP-42s是惠普纯RPN计算器的经典之作,推出于1988年,90年代停产,基本上它停产之后计算器就没落为学具了。它由官方给出的定位是笨重的几款计算器的代用品和HP-15C的继任者。由于这一版计算器基本是非图形纯RPN计算器中功能最完善合理的,所以在停产后在收藏者手中很火,现在基本上一台二手货价格500刀起。所以有爱好者编写了Free42这款模拟器,这是完全免费而且开源的软件,还能跨平台运行在电脑和手机上,在手机上时配合震动反馈,使用手感不输真机。它可以在如下网址找到下载和支持:

http://thomasokken.com/free42/

它是有一本操作手册的,地址是这个,不过是英文的:

http://thomasokken.com/free42/42s.pdf

操作手册三十多页,学习不算困难,不过为了让更多人了解一下这个模拟器,下面我还是写点中文简介。

计算器界面是这样的,无论手机或电脑都一样:

如果觉得它浪费屏幕的话,它可以脱掉真机皮肤:

现在它比瘟到死自带的计算器都小了,然而功能比它要强几百倍。

前面说了几次RPN,RPN就是这款模拟器最“情怀”的地方了。RPN简单地说就是先输入操作数,再输入运算符,运算在运算符输入之后自动进行,而且输入输出全都借助栈来完成。这种输入方式的好处是可以不用括号和等于号键就完成任何计算,并且计算顺序不会出错。因为这个原因,它熟悉起来是有一定的学习成本的,但是用熟练之后见到长长的式子或者需要输入的长长的程序,手指就能条件反射般地快速盲打输入,就像打算盘那样。你要是拿个今天的自然显示计算器试试,上下左右键都按到怀疑人生。而且数值不同的话,RPN计算器上除了输入数字不同之外别的按键顺序都完全相同,而带上下左右的计算器就不行,所以这种RPN计算器可以做按键式编程,就是只通过记录击键操作就能解决各种问题,而现在的图形计算器基本上都得像BASIC那样通过指令编程。这种按键式编程在当时被当作一种高效的程序语言,而且42s的这种“语言”还是图灵完备的,理论上是可以解决所有计算问题的,当然是理论上,复杂问题实现起来还是不如那个年代的Fortran等顺当,否则也是图灵完备的Brainf*ck岂不是更简洁:-)更多关于RPN的信息可以Google下。

那么它有什么功能呢,首先是加减乘除指对函数三角函数等科学计算器都有的:

左边是算式,右边是计算器按法,初看反人类,熟练之后就飞快,无视括号什么的。

计算器支持复数数域的全部计算,比如虚数开方、欧拉公式啥的都可以算。

然后就是排列组合、统计、矩阵等功能,统统都有。不过在小屏幕上算矩阵真的很难受,而且想想上一代15C在十位数字显示屏上算矩阵就酸爽。不过大大的矩阵求逆之类还是比手算快很多的。这个计算器可以储存无限个变量,用STO键就可以,而卡西欧991之类只有可怜的9个。

这款计算器是菜单式的,上面展示的是排列组合的菜单。在那个年代这种点阵式显示屏是非常奢侈的,而计算器的大多数功能都被折叠进了菜单,在菜单展示时,计算器上方的一排键会暂时失去原始功能,而和菜单功能上下对应。

还有RPN计算器特有的XY互换、栈向下滚动、Last X寄存器等等,这些是飞速输入的必备品:

计算器的重点功能是程序编写:

计算器用了一种很奇妙的方式在这么小的小设备上实现了一种只记录击键就图灵完备的语言。这种语言编写的程序在当年拯救了太多重复计算量大的工作者。它写的程序是这个画风:

一眼瞅过去还以为是汇编,不过它比那个简单多了。凡是现有的按键,只要按一下就自动写一行。那种变量名还是需要手工输入的,计算器采用了一种很聪明的字母输入方法,在这么少的按键的情况下还能较快地输入字母,就是Shift + Enter后展示这个菜单:

字母被折叠起来了,通过两次按键就可以选择所需的字母,实测这个比那种字母满键盘的图形机并不慢,而且图形机记指令恶心死人,而这个指令不用记,按键就行。

这个语言在历史上被很多人充分开发过,比如八个皇后问题的代码是这个画风(部分代码):

然后这段代码会在小小的屏幕上画图:

而且居然有人做出菜单来,像下面:

另外这个计算器是可以牛顿法解方程和计算数值积分的,输入方法非常奇葩,先定义一个变量,然后把这个变量像炒菜一样通过RPN的按键规则按成需要积分或求解的式子结果,然后把这个编成一段程序,然后求解,用这个方法代替公式编辑。在那个年代,这可能已经是低成本计算数值积分的最好的方法了,15C的说明书把它称为“苦力”。

就像这样“炒菜”:

更好玩的是,这个计算器当年真机是支持红外无线打印的,把数据可以印在热敏纸上,弥补屏幕分辨率的不足,当然打印机要从惠普公司另买。想想当年,热升华打印机都比点阵液晶屏便宜,而今天一片黑白液晶屏也就几毛钱。数据印出来是这样的:

当今的很多图形计算器估计要被这八十年代的货秒了,不过打印程序编起来也很复杂。这个模拟器也有打印功能,能把打印的东西印成图片保存,文字还可以印成文本文档。

更多的东西没啥时间说了,如果感兴趣的话可以阅读下上面的英文操作手册。这个计算器尤其适合放在手机上当情(zhuang)怀(bi)使用,当别人都盯着新式塑料科学计算器按上下左右按到头大时,在手机上点开这个模拟器,眼睛不看屏幕一套操作,手机嗡嗡嗡地震,放下手机就是正确答案,那效果~

转载于:https://www.cnblogs.com/jz3025/p/10274957.html

计算器模拟器中的情怀——Free42简介相关推荐

  1. 如何在android模拟器中模拟sd卡,如何在Android模拟器中模拟SD卡

    如何在Android模拟器中模拟SD卡 简介 Android允许开发者创建一个SD卡镜像并在启动模拟器加载它, 用于模拟物理设备中的SD卡. 下面将介绍: 1. 如何创建一个SD卡镜像? 2. 如何拷 ...

  2. android模拟器计算器,兔子计算器模拟器Wabbitem

    兔子计算器模拟器是一款可以在安卓手机模拟德州仪器图形计算器的软件,您可以使用兔子计算器模拟器方便快捷的创造镜像,像真正的计算器一样使用,欢迎下载使用. 兔子计算器模拟器官方介绍 作为一款方便迅捷的应用 ...

  3. 电子计算机模拟器,TI-89计算器模拟器(TI-89 Emulator)

    TI-89计算器模拟器 TI-89是一款可用于中学数学.物理.化学等理科教学乃至大学的图形计算器.由于采用了闪存(Flash)技术使之可以进行电子化升级,并具备了更多的内存空间. TI-89计算器特性 ...

  4. 如何卸载iPhone模拟器中的自己创建的程序

    当你使用iPhone模拟器测试过很多程序以后,模拟器中放置了大量无用的程序. 一直在找如何清除这些程序,其实后来发现很简单. 模拟器本身就带将这些程序清除到垃圾箱的功能.如下图所示: 点击上图所示的命 ...

  5. ICRA 2022 | CaTGrasp: 从模拟器中学习类别级的任务相关的抓取姿态

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨泡泡机器人SLAM 标题:CaTGrasp: Learning Categor ...

  6. 向安卓模拟器中添加文件

    1.打开dos命令 2. 将Desktop文件中的1.jpg推到 安卓模拟器中的 sd卡中 mnt/sdcard. 3.adb shell 打开模拟器 4.cd mnt/sdcard 进入你将文件推入 ...

  7. 在Google Android模拟器中使用SD卡(命令行和eclipse环境)

    Android模拟器能够让我们使用fat32格式的磁盘镜像作为SD卡的模拟: 以下所有操作均在windows环境 首先,运行cmd,进入命令行界面(需要预先将你放置android sdk所在目录下的t ...

  8. android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...

    本发明涉及一种基于符号的识别android应用运行在模拟器中的方法. 背景技术: 很多的移动应用都会使用一种基于lbs的地理围栏的技术(如移动打卡),某些用户为了突破这种围栏的限制,将移动应用运行在模 ...

  9. 在8086模拟器中运行汇编求平均值程序

    DATA1 SEGMENT data DW 90, 95, 54, 65, 36, 78, 66, 0, 99, 50, -1 Average DW 0 DATA1 ENDS CODE1 SEGMEN ...

最新文章

  1. Depth graph
  2. linux校时写入硬件,手动校正 Linux 系统时间并把时间写入硬件,系统启动时自动校正时间并把时间写入硬件。...
  3. 一个完整的python项目源码-Python实例练手项目汇总(附源码)
  4. Visual Studio原生开发的20条调试技巧(下)
  5. 人脸识别领域相关金融标准将出台
  6. 数字图像处理实验(总计23个)汇总
  7. ARC 100 C - Linear Approximation题解---三分法
  8. 听说你们找我很久了?
  9. Spring自定义注解简单使用四步走
  10. 11.reindex操作
  11. java 实现长链接Comet
  12. java 闭包_公司新来的女实习生问我什么是闭包?
  13. 帮你理解vue的数据绑定的流程
  14. Win10系统下激活系统和office2013教程
  15. 微信小游戏开发新手教程14-整合到一起,做出你的小游戏
  16. 从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记...
  17. 介绍几款不是太有名的固态硬盘产品
  18. 【PyTorch基础】
  19. 阿里云视频点播 播放出错啦,请尝试退出重试或刷新code:4400
  20. pga是啥oracle,[讨论话题]我的PGA我作主----搞清楚什么是真正的PGA

热门文章

  1. 【CTFSHOW】web入门 NodeJS
  2. apple id两步验证服务器,如何开启 Apple ID 两步验证
  3. 国产实时操作系统+intel x86/龙芯平台超边缘计算机方案
  4. BroadcastReceiver 广播
  5. 使用多线程时@Service工具类出现NullPoint错误解决
  6. 龙蜥降世,神龙升级,灵杰亮相,阿里云再出神器
  7. 【c】分数类型的定义 c语言分数类型加减乘除的实现
  8. 使用c++实现复数类的运算
  9. 1004: 惠民工程
  10. 用另一种方式解决机房管理助手!(非结束进程版)