序言:如何为十六进制值转换为整数的Prolog

问题描述 投票:1回答:1

序言:如何为十六进制值转换为整数的Prolog

我的输入值0x10,我想增加它的序言。

increment(_incremented_value) :-
  _my_var= 0x10,
  _incremented_value is _my_var + 1.

但这给错误,说_my_var不整

prolog hex
1个回答
1
投票

你不转换什么,Prolog的理解十六进制文字。默认情况下,它打印在基地10个整数,所以您可以:

?- X = 0x10.
X = 16.

?- X = 0xAB.
X = 171.

您可以使用格式化的打印功能可在任何你喜欢的基地整数。在SWI-Prolog的:

?- X = 0xFF, format("~2r", [X]).
11111111
X = 255.

?- X = 0xFF, format("~36r", [X]).
73
X = 255.

?- X = 3, format("~3r", [X]).
10
X = 3.

如果你问别的东西,你要弄清楚它是什么。

© www.soinside.com 2019 - 2024. All rights reserved.