# 【自荐】Localc - 一款面向程序开发和调试的计算器 【免费试用七天】

**URL:** <https://meta.appinn.net/t/topic/37636>\
**Category:** 发现频道\
**Tags:** appinned, windows, uwp, calculator\
**Created:** [2022 年11 月 1 日 00:09 UTC](https://meta.appinn.net/t/topic/37636 "2022-11-01T00:09:02Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
**Post date:** [2022 年11 月 1 日 00:09 UTC](https://meta.appinn.net/t/topic/37636/1 "2022-11-01T00:09:02Z")

</div>

## 简介

Localc是一款面向程序开发和调试的计算器，除了基础的运算功能之外，还提供进制转换/文本-字节数组转换/表达式计算/变量定义等功能。

[微软商店](https://www.microsoft.com/store/apps/9MWVH00SS87R)[说明文档](https://github.com/differentrain/LocalcDocuments/blob/main/README_CN.md)

.NET 7要出了，我把表达式计算的部分移植到C# 11, 做了一个开源的命令行版本 [loexp](https://github.com/differentrain/Loexp)，有兴趣可以尝试。

## 截图

**主界面+数字键盘：**

 ![01](https://meta-edge.appinn.com/uploads/default/original/3X/7/1/715aa92a27de082edc85177c01e76847dea9baa5.png)

**比特键盘：**

 ![02](https://meta-edge.appinn.com/uploads/default/original/3X/1/9/196dbe97f47bdaa5f9578eb7c9895a62f5648fa5.png)

**文本/字节数组转换：**

 ![03](https://meta-edge.appinn.com/uploads/default/original/3X/b/3/b3b935c2e8d97e06e1e95e6d498e3f62588ded5c.png)

**表达式计算：**

 ![04](https://meta-edge.appinn.com/uploads/default/original/3X/f/d/fdf816f7d84eb333725d5fb6ad3c2d36eeeb40f1.png)

**变量定义：**

 ![05](https://meta-edge.appinn.com/uploads/default/original/3X/0/2/0239e8d6cb9783d0b6469fe566062814cd8410f5.png)

## 作者的话

咋说呢，其实挺不好意思的，因为之前在小众软件发的文章都是免费版。

倒不是说自己脸皮薄觉得收费就怎么怎么样，而是觉得这种情况下的推荐，难免带着几分私心。

不过到底还是发了，原因很简单，这个软件简直小众的不行，很符合小众软件这四个大字。就像前面说的，这个软件主要面向程序开发和调试，这是比较“官方”的说法，如果你做过开发就知道，正常情况下Windows自带的那个计算器就已经足够。

但另一方面，如果你用过OD，用过IDA，用过CE……你就知道这东西的本质了，它的某些设计只为了一个目的：逆向工程。

比如整数类型，几乎所有现有的计算器都不支持无符号/有符号之间的切换，因为就运算而言，在不检查溢出的情况下，两者本质上几乎没有差异，只有少数指令受影响，但这属于编译器的工作内容。

又比如文本与字节数组之间的转换……emmmm，如果正常开发时需要用到它，只能说明开此编程语言/语言的实现糟糕透了。

再比如最初的版本里是没有对八进制的支持的，因为逆向软件或游戏的时候用不到，后来为了一家人整整齐齐才加上的。不过话说回来，加上之后，一些底层的开发，比如硬件通讯之类的工作，这个计算器也能起到帮助了。

这个软件我工作之余断断续续写了几星期，我本职工作是后端，平时用Winform写写cracker或修改器，UWP是第一次接触，渡过了初期的不适应，竟还觉得有点爽。

Localc是Low+Calc的缩写。最初的动机是想把我之前写的各种分散的小工具整合起来，结果做着做着就成了这样一个比较复杂的样子。然后呢？干脆定个价吧，于是Localc就变成了一个收费软件。

我不太清楚这里分发兑换码的方式，不过我已经把兑换码私给青蛙君了，顺便问问他怎么处理。

这东西的用法对某些朋友来说可能有些复杂，但熟悉之后会觉得比较方便了。它的操作方式类似通过栈和寄存器进行运算的HP计算器，不过为了方便试用，我做了一些调整。

下面摘录了软件说明文档的相关内容：

> 在 Localc 的数字面板中只有二元运算符，没有等号。如果你了解过 [逆波兰表达式](https://en.wikipedia.org/wiki/Reverse_Polish_notation), 你肯定很容易理解以下规则:
> 
> - 二元运算会将被选中的数字框作为第一个操作数，而把此数字框的下一个数字框作为第二个操作数。
> - 计算结果放入被选中的数字框中。
> - 如果是第四个数字框被选中，则它被视为第二个操作数，且运算结果存储于第三个数字框中。
> 
> 举例来说，假如第三个数字框的值是`3`，而第四个数字框的值是`4`且它此时正被选中，那么点击 ADD(+) 按钮后，第三个数字框的值将变成 `7`。

感谢小众软件支持markdown，我直接复制粘贴就行了，这两天写帮助都要吐了……

先就说这么多吧。

---

<div class="post-metadata">

**Author:** ![wankkoree](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/wankkoree/32/19671_2.png) [@wankkoree](https://meta.appinn.net/u/wankkoree)\
**Post date:** [2022 年11 月 1 日 08:20 UTC](https://meta.appinn.net/t/topic/37636/2 "2022-11-01T08:20:22Z")

</div>

逆向确实很需要各种类型转换，尤其是有无符号、整浮硬转这些。

不过`x64dbg`对这方面的处理还挺好的，编辑的时候可以自选常见类型。

 ![image](https://meta.appinn.net/uploads/default/original/3X/b/b/bb1c13bbc5b91a013f0e1bc9bfec85e9c15ad917.png)

---

<div class="post-metadata">

**Author:** ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
**Post date:** [2022 年11 月 1 日 11:35 UTC](https://meta.appinn.net/t/topic/37636/3 "2022-11-01T11:35:16Z")

</div>

@wankkoree  
毕竟是当代开源社区的产品。。。  
你倒是提醒我了，还需要整数类型与文本/字节数组之间的转换。。。

---

<div class="post-metadata">

**Author:** ![yuuka](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/y/49beb7/32.png) [@yuuka](https://meta.appinn.net/u/yuuka)\
**Post date:** [2022 年11 月 4 日 04:43 UTC](https://meta.appinn.net/t/topic/37636/4 "2022-11-04T04:43:30Z")

</div>

> [@differentrain](#):
>
> 它的操作方式类似通过栈和寄存器进行运算的HP计算器，不过为了方便试用，我做了一些调整。

虽然习惯用hp{42s,15c,16c}（……的模拟器，实机价格快要和古董看齐了），但还是感觉怪怪的，可能要适应一下

但是不得不说，功能上确实拿捏了某些人的某些痛点  
希望有朝一日不会再用到这些手动计算功能 :joy:

底层开发s’ lives matter!

---

<div class="post-metadata">

**Author:** ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
**Post date:** [2022 年11 月 4 日 05:28 UTC](https://meta.appinn.net/t/topic/37636/5 "2022-11-04T05:28:42Z")

</div>

@yuuka  
操作方面的话，主要还是用快捷键，F3，输入数字，F4，输入数字，操作符……本来按照RPN的逻辑，运算结果应该是“下沉”的，不过为了方便常见的N_X_X\*X这种操作，我改成了现在的形式。

[话说.NET](http://xn--me3aub.NET) 7要出了，我正把其中最复杂的表达式解析部分移植到C#11，做一个开源的命令行版本，这部分我是不怎么在乎的，主要是做一些笨活，比如调整UI和解决UWP的一些坑的时候心态有点爆炸，我定收费其实是因为这个，之前还给.NET维护团队提交了一个[Issue](https://github.com/dotnet/runtime/issues/75635)……不过盈利我还是想都没想，这东西还是太小众了……看HP-16C的销量就知道这东西受众多窄，“第一款也是唯一一款程序员计算器”。

如果你觉得有用，我私你个兑换码。

---

<div class="post-metadata">

**Author:** ![yuuka](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/y/49beb7/32.png) [@yuuka](https://meta.appinn.net/u/yuuka)\
**Post date:** [2022 年11 月 4 日 13:22 UTC](https://meta.appinn.net/t/topic/37636/6 "2022-11-04T13:22:50Z")

</div>

折腾ui确实麻烦…

兑换码的事，我觉得还是先用几天，如果真打算长期用下去，我可能真会去store里买的:joy:  
先用着看看吧

---

<div class="post-metadata">

**Author:** ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
**Post date:** [2022 年11 月 4 日 14:13 UTC](https://meta.appinn.net/t/topic/37636/7 "2022-11-04T14:13:19Z")

</div>

我就没想着有收益。。。  
Q9WGW-FCRRH-TTDPD-KYJF4-3KYHZ [http://go.microsoft.com/fwlink/?LinkId=532540&mstoken=Q9WGW-FCRRH-TTDPD-KYJF4-3KYHZ](http://go.microsoft.com/fwlink/?LinkId=532540&mstoken=Q9WGW-FCRRH-TTDPD-KYJF4-3KYHZ)  
难得遇见搞底层的。

---

<div class="post-metadata">

**Author:** ![shatang](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/bc79bd/32.png) [@shatang](https://meta.appinn.net/u/shatang)\
**Post date:** [2023 年4 月 3 日 02:27 UTC](https://meta.appinn.net/t/topic/37636/8 "2023-04-03T02:27:32Z")

</div>

能给个兑换码吗？我试试
