闪电下载吧 最新软件 免费软件 绿色软件

教程资讯 软件专题

您的位置:SD124 > 工具软件 > HP-42S计算器模拟器 Free42 2.5.13 绿色免费版

HP-42S计算器模拟器 Free42 2.5.13 绿色免费版

  • 软件大小:未知
  • 更新日期:2020-01-12
  • 官方网站:闪电下载吧
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
HP-42S计算器模拟器 Free42 2.5.13 绿色免费版
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com
Free42是功能强大的HP-42S科学可编程计算器,使用能够完美的代替windows系统自带的计算器,并且它能够对HP-42S进行准确模拟,并具有特有的用户界面功能(例如打印机仿真,皮肤切换等)非常简单,应该是不言自明的,但是Free42在计算器仿真中还具有丰富的扩展功能,如程序导入/导出,时间和日期功能,可配置的字长,用于BASE函数,增强的调试功能,局部变量,并可访问Android和iOS设备上的加速度计/ GPS /指南针等!

功能特色
1、加载和保存程序
在所有Free42版本中都可以加载和保存程序。在台式机版本(Windows,MacOS,Linux)中,确切的过程非常简单,但在移动设备上则更为复杂。
从2.0版开始,您可以使用复制和粘贴将程序放入Free42和从Free42中取出。在PRGM模式下,“复制”将当前程序的文本表示形式放置到系统剪贴板上,“粘贴”从剪贴板中获取程序的文本表示形式并将其作为最后一个程序加载。这适用于所有Free42版本,包括移动版。
2、复制和粘贴的隐藏功能
Free42从成立之初就开始处理基本的复制和粘贴,处理真实和复杂的标量。但是,在2.0版中,“复制”和“粘贴”的功能得到了极大的改进,现在可以处理计算器支持的所有类型的数据。
3、标量
实数和复数以完全精度从X寄存器复制,没有数千个分隔符,并且根据RDX带有小数点或逗号。或RDX,在DISP菜单中进行设置。复数被复制与该符号相匹配的RECT或POLAR 设置在MODES菜单:一个双向+在RECT模式,和 - [R∠θ在POLAR模式。
粘贴标量时,根据RDX解释句点和逗号 。/ RDX,设置。千位分隔符是允许的,但被忽略。复数被识别多种格式:一个双向+, 一个+ BJ,和(A,B)表示矩形形状,和 - [R∠θ和- [R∡θ表示极坐标形式。
4、弦乐
字符串从X寄存器复制并粘贴到X寄存器中,长度最多为6个字符,并且从ALPHA寄存器复制(并粘贴到ALPHA模式下)(最大为44个字符)。复制时,尽可能将字符从HP-42S编码转换为Unicode,唯一的例外是HP-42S字符L F和 E C,它们在Unicode中没有等效项,并被翻译为[LF]和[ESC] 。粘贴时,将无法映射到HP-42S字符的Unicode字符替换为•(项目符号,看起来像一个小正方形)。
5、矩阵
矩阵以制表符分隔的文本格式从X寄存器复制并粘贴到X寄存器,其中单元格由制表符分隔,行由换行符分隔。所有主要电子表格应用程序都支持此格式,并且Free42矩阵“复制”和“粘贴”操作已通过Microsoft Excel,Google Sheets,LibreOffice Calc和Apple Numbers进行了测试。
Free42支持复制和粘贴复杂的矩阵,但是请注意,大多数电子表格仅对非常复杂的数字提供非常有限的支持,而Google表格完全不支持它们。
6、程式
在PRGM模式下,复制和粘贴可用于复制和粘贴整个程序。 复制时,当前程序将转换为文本格式,与使用PRP打印时完全相同。 粘贴时,剪贴板中的文本将被解析为程序列表,并将生成的程序作为新程序加载到程序存储器的末尾。 可以在一个粘贴操作中粘贴多个程序。 它们将按照它们在文本中出现的顺序加载到程序存储器中。
粘贴时,所有Free42无法识别为HP-42S指令的文本都会被忽略。这有助于包含注释的列表,但是在粘贴基本有效的代码(只是未按照Free42识别的格式进行格式化)时会引起问题。因此,从未经验证的来源粘贴程序时,建议至少检查粘贴的程序与清单中的行数相同。
7、加载,保存和切换状态
从版本2.5开始,Free42允许您将计算器的状态保存到文件中,在Free42的不同实例之间共享这些文件,并管理一组状态并只需单击几下鼠标即可在它们之间切换。
在Windows,MacOS和Linux版本的“文件”菜单中以及在Android和iOS版本的主菜单中找到的“状态”命令会弹出“状态管理”窗口,如右图所示。
计算器的状态包括所有程序和变量,自动堆栈,标志,CUSTOM菜单,可编程菜单,ALPHA寄存器以及与数值求解器和积分器相关的所有状态。您可以使用状态管理器的“ 更多”菜单中的“ 导出” 和“ 导入”命令将状态保存到扩展名为.f42的文件中,并加载此类文件。导入的状态显示在状态列表中,可以通过双击它们或单击它们,然后按切换到来激活它们。
状态管理器中的其他操作包括复制现有状态,创建新的空状态以及重命名现有状态。此外,Free42的移动版本提供了“共享”状态的选项,这会弹出系统提供的对话框,您可以在其中通过电子邮件发送状态文件。
请注意,状态文件与用于交换程序的“原始”文件不同。“原始”文件包含一个或多个程序,但没有其他任何文件,可以将其加载到Free42中,而无需替换现有文件。相反,状态文件定义了计算器的整个状态,而加载状态文件将替换先前加载的内存中的状态文件。您一次只能使用一个状态,但是状态确实可以让您自定义计算器的程度远远大于仅加载程序即可。
8、二进制和十进制浮点数
Free42最初专门用于二进制数学,而从1.4开始的所有发行版都有两个版本,即Binary和Decimal。两者的外观和行为相同。唯一的区别是它们在内部表示数字的方式。
该站点上的Free42桌面版本(即Windows,MacOS和Linux的桌面版本)在下载包中同时包含Binary和Decimal版本。另一方面,Android和iOS的版本仅是十进制。它们原则上也可以用Binary Math构建,但是由于Android和iOS应用商店的工作方式,同时分发两个版本会出现问题。
Free42 Decimal使用Intel Decimal浮点数学库;它使用IEEE 754-2008四精度十进制浮点数,每个数字占用16个字节,并给出34个十进制数字的精度,指数范围为−6143至+6144。
Free42 Binary使用PC的FPU;它将数字表示为IEEE 754兼容的双精度二进制浮点数,每个数字占用8个字节,并且有效精度接近16个十进制数字,指数范围为-308至+308。
二进制版本的优点是比十进制版本要快得多。此外,它使用更少的内存。但是,诸如0.1(十分之一)之类的数字不能精确地用二进制表示,因为它们当时是重复的分数。这种不精确性可能导致某些HP-42S程序失败。
如果您了解围绕二进制浮点的问题,并且您不依赖于可能依赖于小数部分精度的旧版软件,则可以使用Free42 Binary并享受其速度优势。另一方面,如果需要完全的HP-42S兼容性,则应使用Free42 Decimal。
如果您对上述内容不完全了解,最好放心使用Free42 Decimal。
9、时间和日期功能
Free42提供了许多功能来处理时间和日期,并从系统的实时时钟获取当前时间和日期。这些功能是HP-41时间模块的功能的子集:ADATE ATIME ATIME24 CLK12 CLK24 DATE DATE + DDAYS DMY DOW MDY TIME,以及一项附加功能YMD。
这些功能在《 HP-82182A时间模块用户手册》和《 HP-41CX用户手册》中有详细记录,可在 此处, 此处和此处在线查看。
注意:日期函数处理1582年10月15日至4320年9月10日之间的日期。前者是公历的第一天,而后者是999,999天。
在MDY模式下,日期函数接受和返回日期的格式为MM.DDYYYY,在DMY模式下为DD.MMYYYY,在YMD模式下为YYYY.MMDD。
ADATE将X寄存器的内容追加到ALPHA寄存器,格式为日期值:在DMY模式下,DD.MMYYYY显示为DD.MM.YYYY;在MDY模式下,MM.DDYYYY显示为MM / DD / YYYY;在YMD模式下,YYYY.MMDD显示为YYYY-MM-DD。在MDY和DMY模式下,如果显示模式的位数为4以下,则省略世纪部分;如果小于或等于2,则省略全年部分;如果小于或等于2,则省略全年部分。如果为0,则省略月份或日期部分(分别在DMY或MDY模式下)。在YMD模式下,如果显示模式下的位数为2以下,则省略日期部分;如果为0,则省略月份和日期部分。
ATIME将X寄存器的内容追加到ALPHA寄存器,格式为时间值:HH.MMSSss显示为HH:MM:SS.ss。在CLK12模式下,HH在23到23之间的时间以12小时格式显示:-23到-13作为-HH-12PM;-12至-1作为-HH PM;0到12 AM;1至11作为HH AM;下午12点至12点;13到23作为HH-12 PM。当| HH | ≥24,则忽略该符号,并按原样显示HH,不附加AM或PM。在CLK24模式下,介于-1和-11之间的HH显示为-HH + 12;其他所有值均显示为| HH |。没有显示AM或PM。
如果显示模式的位数为4或更少,则省略厘秒部分;如果小于等于2,则省略秒部分;如果为0,则省略分钟部分。
ATIME24与ATIME一样(见上文),不同之处在于,无论CLK12 / CLK24设置如何,它始终以24小时格式格式化时间。
CLK12以AM / PM以12小时格式显示时间。
CLK24以24小时格式显示时间。
DATE将当前日期返回到X寄存器。在MDY模式下,日期返回为MM.DDYYYY; 在DMY模式下,它返回为DD.MMYYYY;在YMD模式下,它返回为YYYY.MMDD。另外,从键盘执行时,这还将分别显示格式为“ MM / DD / YYYY DOW”,“ DD.MM.YYYY DOW”或“ YYYY-MM-DD DOW”的日期。
DATE +从Y寄存器中获取一个日期,并从X寄存器中添加一个天数。
DDAYS计算Y寄存器中的日期与X寄存器中的日期之间的天数。如果Y寄存器中的日期早,则结果为正。
DMY以日/月/年格式显示,返回和接受日期。
DOW计算X寄存器中日期的星期几。返回0到6之间的数字,其中0是星期日,1是星期一,依此类推。当通过键盘执行此功能时,日期也以易于使用的格式显示,例如,周一为周一,周二为星期二,等等。
MDY以月/日/年格式显示,返回和接受日期。
TIME返回X寄存器中的当前时间。该时间以HH.MMSSss格式返回,且HH从0到23,无论CLK12 / CLK24设置如何。另外,当从键盘执行时,当显示格式分别为CLK12或CLK24时,它将以“ HH:MM:SS AM”或“ HH:MM:SS”格式显示时间。
YMD以年/月/日格式显示,返回和接受日期。
10、基础增强
HP-42S中的BASE应用程序具有对36位带符号整数起作用的算术和按位逻辑运算。这并不总是需要的,并且Free42 2.4通过提供可配置的字长(Free42十进制最多64位; Free42 Binary最多52位),无符号模式和包装模式使BASE更灵活。
在n位有符号模式下,数值范围为-(2 n-1)至2 n-1 -1,在n位无符号模式下,数值范围为0至2 n -1。
当参数或结果超出上述范围时,包装模式将更改行为。在标准非包装模式下, 除非设置了范围错误忽略标志(标志24),否则超出这些范围的参数将导致 无效数据错误,而超出这些范围的结果将导致超出范围错误。结果是该范围内最接近的值。
在自动模式下,只需忽略或丢弃n-1位左侧的任何位,即可将参数和结果保持在允许范围内。对于熟悉微处理器或C语言及相关编程语言中的整数算术和按位逻辑的人员而言,这种行为是很自然的。
Free42 2.4在“模式”菜单的新行中添加了以下功能,用于管理新的BASE模式:
WSIZE将字大小设置为X寄存器中的数字,该数字必须在1到64之间。
WSIZE?返回当前单词的大小。
BSIGNED切换签名模式。在带符号模式下,数字被解释为二进制补码带符号的整数,例如在实际的HP-42S和Free42的早期版本中。在无符号模式下,数字始终被解释为非负数,并且不存在负数。您可以通过检查MODES菜单来检查签名模式或未签名模式是否处于活动状态,当签名模式处于活动状态时,会在此处标记BSGN菜单项。或者,您可以检查标志78。
BWRAP切换包裹模式。在包装模式下,通过丢弃WSIZE-1位左侧的任何位,数字保持在WSIZE位内;在非包装模式下,不允许数字超出二进制范围,并且在参数超出范围时会导致“ 无效数据”错误,而在结果超出范围时会导致“ 超出范围”错误。您可以通过检查MODES菜单来检查包装模式或非包装模式是否处于活动状态,当包装模式处于活动状态时,将在该菜单项上标记一个BWRP菜单项。或者,您可以检查标志79。
BRESET将所有BASE模式重置为其默认设置,这些设置与真实HP-42S的行为相符:WSIZE 36,已签名,未包装。
11、进入,跨步和跳出
Free2.1在版本2.1中引入,提供了“逐步过渡”和“逐步退出”。熟悉集成开发环境(IDE)的人们可能会知道三种常见的步进类型:
SST↓或单步执行:执行一行代码,如果有问题的行是函数调用,则要执行的下一行将是被调用函数的第一行。也就是说,您正在进入该功能;
SST→或Step Over:执行一行代码,如果该行是函数调用,则在该步骤中执行。您不是在进入功能;相反,您正在逐步解决它。
SST↑或单步执行:开始执行程序,一直持续到当前功能结束后。您正在退出该功能。
单步执行与HP-42S中的原始SST功能相同。Free42 2.1为此函数添加了别名SST↓,但是它的行为是相同的,因为它只是同一函数的别称。单步执行和单步执行是2.1版中的新功能。可以将这三个一起分配给CUSTOM菜单中的一行,例如:
关于跨步的注意事项:对于大多数说明,“跨步”的行为与“跨步”相同。在高级语言调试器中,两者之间的唯一区别在于函数或方法调用。在Free42中,Step Over会逐步执行XEQ指令,这些指令等同于函数调用的按键编程,但它也会逐步执行SOLVE和INTEG,而Step Into将逐步执行要解决或集成的功能。
相反,如果在SOLVE或INTEG处于活动状态时中断程序执行,则单步执行将继续执行直到SOLVE或INTEG完成,就好像SOLVE或INTEG是一种XEQ。
12、局部变量
LSTO,在Free42 2.2中引入,可用于创建局部变量。这些变量仅在当前子例程的持续时间内存在,并在其返回时自动删除。例如,以下是阶乘的递归实现,使用局部变量T保存堆栈寄存器T,并使用局部变量N跟踪递归调用中的参数以计算FAC(N-1):
00 {37字节Prgm}
01▸LBL“ FAC”
02 X≠0?
03 GTO 00
04号
05 RTN
06▸LBL00
07 R↑
08 LSTO“ T”
09 R↓
10 LSTO“ N”
11 1
12-
13 XEQ“ FAC”
14 RCL“ N”
15×
16 RCL“ T”
17 R↓
18末
由于局部变量可以实现真正的HP-42S无法处理的递归算法,因此拥有更大的返回堆栈也变得更加有用。真正的HP-42S和较早版本的Free42具有8级RTN堆栈,而Free42 2.2具有1024 RTN级别。
13、加速度计,GPS和指南针
适用于Android和iOS的Free42具有三个查询设备硬件的功能。他们是:
ACCEL查询加速度计。加速度矢量的三个分量在X,Y和Z寄存器中返回。保持设备面向您,以纵向方向,并且扩展坞连接器指向地板,正X为向左的加速度,正Y为向下的加速度,正Z为远离您的加速度-或就重力而言,正X是向右拉的重力,正Y是向上拉的重力,Z是向您拉的重力。
注意:加速度以地球重力为单位返回,而不是您期望的m / s 2。iOS API文档指出所使用的单位为9.81 m / s 2,并且ACCEL函数将这些值保持不变。在Android上,API返回以m / s 2为单位的加速度,这些加速度由Free42使用9.80665 m / s 2的“标准重力”转换为重力。
LOCAT查询GPS。返回的位置如下:X的纬度,Y的经度,Z的高程,T的二元向量的水平和垂直精度。T以十进制表示,北和东为正;高度和精度以米为单位。如果精度为-1,则意味着相应的测量无效。
HEADING查询指南针。这将返回以下数据:X方向的磁航向,Y方向的真实航向,Z方向的航向精度,T中三元素矢量的原始磁向矢量。航向和精度以度为单位,其中North为0,East是90,依此类推;磁矢量的分量以微特斯拉给出。组件相对于设备的方向与加速度计读数的方向相同。

使用说明

1、为什么我的HP-42S程序无法在Free42中正常工作?
HP-42S程序在Free42中可能无法正常运行的原因有多种。首先要想弄清楚最明显的地方:请确保检查是否正确输入了程序,以及相关设置(例如寄存器大小,角度和显示模式等)是否正确。
排除人为错误后,HP-42S程序在Free42中可能无法正常运行的原因是:
不同的浮点格式
HP-42S代表带有12位十进制尾数的数字,指数从10 -499到10499;Free42 Decimal使用34位十进制尾数,并且指数从10 −6143到10 6144 ; Free42 Binary使用本机二进制浮点数,在所有当前支持的平台上,IEEE-754是双精度的,具有53位二进制尾数,大约等于16个十进制数字,指数为10 -308 到10 308。
这些差异可能导致Free42与HP-42S计算出不同的结果。例如,由于尾数较宽,1 ENTER 3 1 / x-LASTX-LASTX-在HP-42S上返回1e-12,而在Free42小数上返回1e-34。1 ENTER .2-.2-.2-.2-.2-在HP-42S上返回0,但在Free42 Binary上返回5.55111512313e-17,因为0.2是二进制中的重复分数。
使用Free42 Decimal可以避免大多数此类兼容性问题,但是,尽管它们很少见,但有些程序甚至在Free42 Decimal中也无法正常工作。通常,这些程序特别依赖于尾数的大小和/或指数的范围,但是Free42 Decimal的额外精度也可能会抛弃简单的数值算法,例如,如果它们使用的终止条件不是强大的。
Free42默认取决于区域设置为小数点或小数逗号模式
如果您的计算机/智能手机/平板电脑设置为小数点为逗号的语言环境,则硬重置时Free42设置为RDX(基数逗号)模式;在所有其他语言环境中,将其设置为RDX。(小数点)模式进行硬重置。如果在程序的输出中看到格式错误的数据,则可能必须切换到RDX。模式(在MODES菜单中为RDX。或SF 28)。
在程序中,数字被标准化
这实际上不是Free42和HP-42S之间的差异,它导致HP-42S程序在Free42中失败,但是这可能会引起混乱。这是怎么回事?
在程序中,HP-42S基本上在您输入数字时就将其存储。如果要在程序中输入数字1000,可以输入1000或1E3。后者节省一个字节,但除此之外,没有区别。
另一方面,Free42将数字以浮点格式存储在程序中,这意味着不会保留1000和1E3之间的区别。当它显示包含数字的程序行时,它将以HP-42S上最紧凑的方式格式化数字,因此,如果输入1000,则显示为1E3,但是如果输入10,则显示为10。(当科学点和定点表示的长度相同时,它选择后者,因此100显示为100,而不是1E2。)
同样,这些都不会对Free42的计算方式产生任何影响。我在这里提到这一点是因为,尽管Free42可能看起来与HP-42S有所不同,但这是您应该忽略的区别。
2、为什么我得到的结果四舍五入为整数?
您正在以FIX 04模式执行7 ENTER 2÷,结果为3.0000,而它当然应该是3.5000。
发生这种情况时,是因为计算器处于BASE模式。您可以通过按住任意算术或+/-键来验证这一点:在BASE模式下,它们分别执行BASE÷,BASE×,BASE-,BASE +和BASE +/-,并且这些命令将其参数解释为36位带符号的二进制整数,并在相同约束内返回结果。
要恢复正常行为,请按EXIT退出BASE应用程序,直到显示屏上没有显示菜单。
3、尝试访问任何编号的存储寄存器或尝试使用任何统计功能时,为什么会出现“大小错误”?
通常,“大小错误”表示您试图访问一个不存在的编号寄存器,即,“模式”菜单中的“大小”设置太低。默认情况下,设置为SIZE 0025,这意味着您拥有的寄存器编号为00到24。
但是,即使RCL 00返回大小错误,通常也意味着REGS矩阵被无意中删除了。这也会导致所有统计功能失败,因为它们都使用编号的寄存器来访问求和数据。
要解决此问题,并将REGS恢复为默认大小,请说SIZE 0025:Shift +/− ▼ Σ+ 0 0 2 5。
4、如何为自定义菜单分配SST↓(进入)?
Free42 2.1中引入的SST↓也称为Step Into,它不是一个新功能;相反,它是现有SST功能的新拼写。由于功能仅在FCN目录中按其主要拼写列出,这就引出了一个问题,即如何使用箭头将SST↓分配给CUSTOM菜单。
答案是拼出来使用ALPHA菜单:Shift键 1 ENTER LN 1 / X LN 1 / X LN √x ▼ 1 / X √x ENTER Σ+
(用您要为其分配SST↓的CUSTOM菜单中的任意键替换Σ+。)
5、为什么在打印输出中什么都没有显示?
与HP-42S一样,Free42默认情况下处于“打印机关闭”模式。要启用打印,请在打印菜单中的功能PRON:Shift键 - 清单▲ Σ +。
有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧