Windows 7 上的 MS 计算器。我需要知道它是如何操作的

发布于 2024-08-16 09:14:20 字数 243 浏览 7 评论 0原文

Windows 7 上的 MS 计算器有一个“程序员”模式。当我输入(二进制):1111111111111111111111111111111111111111111111111111111111111111

然后单击“Dec”时,二进制变为-1。当我点击 Oct 时,该值变成 1777777777777777777777

但是,每当我使用在线转换器时,它都不起作用。我需要知道计算器是如何做到这一点的,以便我可以在 C++ 中模拟它。

MS calculator on windows 7 has a "programmers" mode. When I type in (in binary): 1111111111111111111111111111111111111111111111111111111111111111

and then click "Dec", the binary turns into -1. When I click Oct, the value turns into
1777777777777777777777

However, whenever I use an online converter, it doesn't work. I need to know how the calculator is doing this so I can emulate it in c++.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甚是思念 2024-08-23 09:14:20

它使用 64 位二进制补码表示法。基本上,当您向 2^63 - 1 添加 1 时,它会溢出并得到 -2^63维基百科了解更多详细信息

It is using 64 bit two's complement notation. Basically, when you add one to 2^63 - 1, it overflows and you get -2^63. Wikipedia for more detail

一念一轮回 2024-08-23 09:14:20

听说过 2s 补码吗?这一切都取决于(逻辑上取决于二进制数的长度)。但是,硬件允许您一次处理一个字。

Ever heard of 2s complement? It all depends (logically on the length of the binary number. Hardware lets you work with one word at a time, however.

笙痞 2024-08-23 09:14:20

当您将其切换为十进制时,它正在执行二进制补码。在八进制形式中,它正在进行直接转换。

It's doing two's complement when you switch it to decimal. In octal form, it is doing a straight conversion.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文