EXCEl十六进制有符号数转十进制
hex2dec(number)函数本身可以识别有符号数,之前一直没发现
语法
HEX2DEC(number)
Number 待转换的十六进制数。参数 number 的位数不能多于10位(40位二进制),最高位为符号位,其余39位是数字位。负数用二进制数的补码表示。
说明
若参数 Number 不是合法的十六进制数,则 HEC2DEC 返回错误值 #NUM!。
hex2dec和hex2bin函数最多处理10位16进制(等价于40位二进制位),并且将最高位(第40位)作为符号位,其余39位作为数字位。
注意:如果要正确处理负数,必须是10位的16进制位
=IF(LEFT(A64,1)="F","FF"&A64,"00"&A64)
Sublime 正则替换
快捷键:Ctrl + h
示例数据:
[11:22:46.168]收←◆03 03 06 21 2D 1F A2 12 10 39 F8 04 03 00 04 00 03 44 5F
[11:22:46.216]收←◆04 03 00 04 00 03 44 5F
[11:22:46.278]收←◆04 03 06 21 86 20 8B 10 FD 26 E1 01 03 00 04 00 03 44 0A
[11:22:46.326]收←◆01 03 00 04 00 03 44 0A
[11:22:46.387]收←◆01 03 06 1E 9E 20 E2 11 BA AD 02 02 03 00 04 00 03 44 39
[11:22:46.436]收←◆02 03 00 04 00 03 44 39
[11:22:46.497]收←◆02 03 06 1E F1 1E 69 11 E2 11 C3 03 03 00 04 00 03 45 E8
[11:22:46.546]收←◆03 03 00 04 00 03 45 E8
[11:22:46.607]收←◆03 03 06 21 2D 1F A2 12 0F 78 30 04 03 00 04 00 03 44 5F
[11:22:46.657]收←◆04 03 00 04 00 03 44 5F
[11:22:46.719]收←◆04 03 06 21 87 20 8C 11 00 6A F1 01 03 00 04 00 03 44 0A
[11:22:46.765]收←◆01 03 00 04 00 03 44 0A
[11:22:46.828]收←◆01 03 06 1E 9D 20 E2 11 BC 69 00 02 03 00 04 00 03 44 39
去掉时间戳部分:
^\[[0-9.:]+\]收←◆
去掉空行
^\n
获取正则匹配到的内容
在正则中,()可以分组,$0
代表匹配到的所有内容,$1
代表第一个分组,$2
代表第2个
查找 (0[1-4]{1} 03 00 04 00 03 [0-9A-F]{2} [0-9A-F]{2})
替换 \n$1
Sublime按列选中(windows环境)
按列选中:鼠标右键 + shift 或者 鼠标中键
新增选择:Ctrl
取消选择:Alt