Futurebasic/语言/参考/hexstring
外观
hexString$ = HEX$(<i>expr)
此函数返回一个十六进制数字字符串,表示 expr
的整数值。返回的字符串将包含 2、4 或 8 个字符,具体取决于当前生效的是 DEFSTR BYTE
、DEFSTR WORD
还是 DEFSTR LONG
。请注意,如果 expr
的值太大而无法放入当前选定大小的十六进制字符串中,则 HEX$
返回的字符串将不代表 expr
的真实值。
在 FB 中,整数以标准的“二进制补码”格式存储,HEX$
返回的值反映了这种存储方案。在解释 HEX$
的结果时,您需要牢记这一点,尤其是在 expr
为负数时。例如:HEX$(-3)
在 DEFSTR BYTE
生效时返回 "FD
";在 DEFSTR WORD
生效时返回 "FFFD
";在 DEFSTR LONG
生效时返回 "FFFFFFFD
"。
注意:要将十六进制数字字符串转换为整数,请使用以下方法
intVar = VAL&("&H" + hexString$)
intVar
可以是(带符号或无符号)字节变量、短整型变量或长整型变量。字节变量可以处理长度最多为 2 个字符的 hexString$
;短整型变量可以处理长度最多为 4 个字符的 hexString$
;长整型变量可以处理长度最多为 8 个字符的 hexString$
。
; BIN$; DEF STRBYTE/WORD/LONG; VAL