如何从字符串十六进制列中提取某些位到数字?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,大师,
关于如何从字符串十六进制列(名为Flags)中提取某些位到数字,我有一个非常简单的问题。我的列值将类似于“0x1BA1”。我想提取位8和9值并将它们转换为值3到我的新列。由于我不知道jmp中的二进制操作,我尝试通过执行以下操作将B提取为11
Char To Hex(芒格(:Flags,4,1))。
它给了我一个42的字符列。我试图在公式中加入一个“整数”
Char To Hex((Munger(:Flags,4,1)),“整数”)
但它不会承认它。我正在使用jmp11.2.1。
在提取B之后,我将使用模块(模块(值,8),4)来获得低2位。
如果有一种简单的方法来提取二进制位,那就更好了。
谢谢,
简
Re:如何从字符串十六进制列中提取某些位到数字?谢谢你,MS。
我尝试了concat“0”并且它有效。
简
Re:如何从字符串十六进制列中提取某些位到数字?嗨,克雷格,
谢谢。“B”前面的魔术“0”是关键。
简
Re:如何从字符串十六进制列中提取某些位到数字?正如Craige指出的那样(谢谢,我不知道),JMP 11需要偶数个十六进制字符。
对单个字符子串尝试此公式:
十六进制数 ( “0” || SUBSTR ( 旗 , 4 , 1 )) ;
Re:如何从字符串十六进制列中提取某些位到数字?你好,MS,
我对这些“Hex to ..”命令有困难。他们不适合我的案子。这是屏幕副本。我不知道会出现什么问题。
谢谢,
简

Re:如何从字符串十六进制列中提取某些位到数字?在JMP 12之前,你需要偶数个十六进制字符:
十六进制数(“0B”)
11
Re:如何从字符串十六进制列中提取某些位到数字?函数Hex to Number()将十六进制数字(作为字符串)转换为十进制数字。
例:
十六进制 = “0x1BA1” ;
//十六进制到十进制
值 = 十六进制数 ( SUBSTR ( 十六进制 , 4 , 1 )) ;
节目 ( 值 ) ;
//十进制到二进制
箱子 = “” ;
而 ( 值 ,
箱子 = 烧焦 ( 模 ( 民 ( 值 ) , 2 )) || 箱子 ;
值 = 地板 ( 值 / 2 ) ;
) ;
节目 ( 箱子 ) ;
//反向最后一步确认(或只是为了好玩)
值2 = 和 ( 2 ^ ( 禄 ( 相反 ( 话 ( 箱子 , “” )) , “1” ) - 1 )) ;
节目 ( 值2 ) ;