【发布时间】:2010-12-24 00:09:38
【问题描述】:
如何在 Emacs calc 中将十六进制数转换为十进制数?
例如,如果我输入FF,我希望它转换为255。
更新:如何进行反向操作,将基数 10 转为基数 16?
【问题讨论】:
如何在 Emacs calc 中将十六进制数转换为十进制数?
例如,如果我输入FF,我希望它转换为255。
更新:如何进行反向操作,将基数 10 转为基数 16?
【问题讨论】:
您可以输入<base>#<number> 格式的任何数字。示例:16#FF 立即转换为 255。
反之,需要设置输出显示模式。在此示例中,d r 16 RET 将显示设置为以 16 为底。将其设置为以 10 为底以再次获得默认行为。
对了,你也可以阅读精品手册TM:GNU Emacs Calc Manual.
【讨论】:
C-x * q 10#255 将在迷你缓冲区中以十进制、十六进制、八进制和二进制显示 255。
Svante 回答了您的问题,但我想补充一点,基数显示模式更改有一个quicker keystroke:
d 6
d 0
【讨论】:
当然你可以输入16#FF来输入0xFF,不过还有更方便的方法。
另一种选择:
d 6 将显示基数更改为十六进制
#,例如#FF 和<enter>。 (# 表示用给定的显示基数解释数字)d 0 将显示基数改回十进制。注意: 没有# 输入的数字总是插入一个十进制数字。
注意2:这也适用于相反的方式。
负值: 现在假设您有一个 8 位系统,并且您想知道十进制 -3 是如何存储在该系统 RAM 中的。
b w 8
3 n 和<enter> 输入dec -3
O d 6。 (O 作为选项对于启用二进制补码很重要。)注意: 你看到的是16##FD。两个#表示有符号,存储在RAM中的值为0xFD
上述内容也适用于d 2、d 8(作为 bin 和 oct 的快捷方式)和其他可能的显示基数从 2 到 36 (d r <radix-number>)。
此信息取自Emacs Calc Manual。
【讨论】:
# 开头
# 之后粘贴一个十六进制值(没有前导0x)时,我得到[Bad format],但很容易执行#`(磅反引号)来到达行编辑器并将十六进制粘贴到那里。