如何在Emacs的calc中将十六进制转换为十进制数?

1.6*_*618 20 emacs calc

如何在Emacs calc中将十六进制转换为十进制数?例如,如果我输入FF,我希望它将其转换为255.

更新:如何进行反向操作,将基数10转为16?

Sva*_*nte 35

您可以输入格式中的任何数字<base>#<number>.示例:16#FF立即转换为255.

反之,您需要设置输出显示模式.在此示例中,d r 16 RET将显示设置为基数16.将其设置为基数10以再次获取默认行为.

顺便说一句,您还可以阅读精细手册TM:GNU Emacs Calc手册.

  • `Cx*q 10#255`将在迷你缓冲区中显示十进制,十六进制,八进制和二进制255. (3认同)

piy*_*iyo 13

Svante回答了你的问题,但我想补充说Radix Display Mode的更改有一个更快的按键:

  • 以十六进制模式显示: d 6
  • 以十进制模式显示: d 0


jue*_*jue 6

当然你可以16#FF输入 enter 0xFF,但还有更方便的方法。

另一种选择:

  1. 将显示基数更改为十六进制 d 6
  2. 然后用一个前缀来输入你想要的所有的十六进制数##FF<enter>。(#意思是用给定的显示基数解释数字)
  3. 之后,用 将显示基数改回十进制d 0

注意:输入的数字#总是插入一个十进制数字。 注意2:这也适用于相反的方式。

负值: 现在假设您有一个 8 位系统,并且您想知道十进制 -3 是如何存储在该系统 RAM 中的。

  1. 切换字大小: b w 8
  2. 通过键入3 n和输入 dec -3<enter>
  3. 使用二进制补码表示法将显示基数设置为十六进制:O d 6. (Oas 选项对于启用二进制补码很重要。)

注意:你看16##FD。两种#表示它是有符号的,并且存储在 RAM 中的值是0xFD

上述内容也适用于d 2, d 8(作为 bin 和 oct 的快捷方式)和其他可能的显示基数从 2 到 36 ( d r <radix-number>)。

此信息取自Emacs Calc 手册