- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试学习 shell 脚本并编写一个简单的脚本来增加循环中的十六进制值。
这是我的脚本:
increment=0x0001
handle=0x0001
for((i=1;i<=20;i++))
do
echo $handle
handle=$(($handle + $increment))
handle=$(printf '%x' $handle)
done
这是我的输出:
0x0001
2
3
4
5
6
7
8
9
a
1
2
3
4
5
6
7
8
9
a
它在第 10 次迭代之前工作正常,但之后它再次从 1 开始。
任何人都可以告诉我我的错误吗?
编辑:删除 handle=$(printf '%x' $handle)
行后输出为:
0x0001
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
实际上我只想以十六进制输出。
最佳答案
它与打印值的方式有关,请尝试 printf '%#x'
或 printf '%#X'
只需将用于打印内容的行更改为前导 0x
为:-
handle=$(printf '%#x' $handle)
(或)将前导十六进制字符作为 0X
handle=$(printf '%#X' $handle)
通过更改,您将获得如下输出:-
$ ./script.sh
0x0001
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xa
0xb
0xc
0xd
0xe
0xf
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1a
0x1b
0x1c
0x1d
0x1e
0x1f
0x20
有关更多格式选项,请查看此处:- http://wiki.bash-hackers.org/commands/builtin/printf (和)http://ss64.com/bash/printf.html
关于linux - shell 脚本 : Hexadecimal Loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37409655/
假设下面的数据框有“对象”类型的列“num” num 0 0x11 1 0x3 2 0x05 3 0x4 4 0x1a 5 0x1d 6 0x82 “print(df
我有一个整数,我想将其转换为十六进制值。我正在构建一个消息头,其中该数组的每个字节值指示有关该消息的特定信息。 我想用下面的 2 个字节 len1 和 len2 来表示消息的长度。 我该怎么做? b
我正在尝试应用一个过滤器,该过滤器接受十进制输入并通过 AngularJS 过滤器输出十六进制。我不确定为什么不应用过滤器。我已经在控制台中使用示例数据检查了转换,例如10 --> 一个 有什么建议吗
题目地址:https://leetcode.com/problems/convert-a-number-to-hexadecimal/open in new window 题目描述 Given a
我正在尝试在 C# 中将一个大数字(例如:9407524828459565063)转换为十六进制(例如:828E3DFD00000000)。 问题是数字大于 Int64 的最大值。 我到处查找,找不到
我正在尝试学习 shell 脚本并编写一个简单的脚本来增加循环中的十六进制值。 这是我的脚本: increment=0x0001 handle=0x0001 for((i=1;i<=20;i++))
大家好 我需要将 Int 转换为其十六进制值。示例:-40 => D8 我有一个用于正(或无符号)Int 的工作方法,但它不能像预期的那样对负数起作用。这是我的代码。 class func encod
我想在 XML 文件中存储一个数字,类型为 或其他简单整数类型,但允许用户以十六进制格式输入数字。 XML 标准是否允许这样做,因为我找不到任何相关内容? 例如,如果 XSD 说: 然后我希望 XM
我已经检索了一个这样的数组:echo ""; var_dump($trigger);结果是: array(5) { [0]=> object(phpseclib\Math\BigInteger
要使用 QSpinBox 输入和显示十六进制数,只需将 displayIntegerBase 设置为 16。但是,我找不到将显示设置为的属性或方法大写(例如 1A 而不是 1a)。 我知道我可以重写
我从 Matlab 接收十六进制数字字符串到我的设备中。我检查通过wireshark发送的数据: 0000 00 16 cf 5c 0d c2 ec 55 f9 44 c8 9b 08 00 45
在 Atmega1284P 上使用 AVR GCC 时,我曾经有以下情况: #define CMP_START_ADDR 0x18000 static UInt32 loadingAddr = CMP
我正在尝试学习 MongoDB 和 Morphia,并且我已经用 Java 创建了一个示例应用程序。但是在执行聚合时,我收到“ObjectId 的十六进制表示无效”错误。 Morphia版本为1.3.
我正在使用 HBase 开发一个项目,遇到了一个看似简单的情况,却让我陷入了困境。 Hbase 可以将表值存储为转义的十六进制。就我而言,我将 true/false 分别存储为\x00 和\xFF。
如何查看某些汇编命令的十六进制表示? 这是来自 gdb: 0x8048395 mov %esp,%ebp 0x8048397 mov $0x
我尝试用这段代码获取 xml 文件: HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse r
我一直在关注显示如何使用 Windows CryptoAPI 散列数据的 msdn 示例。该示例可在此处找到:http://msdn.microsoft.com/en-us/library/windo
I've got this function that adds two hexadecimal numbers together one byte at a time by acessing
I've got this function that adds two hexadecimal numbers together one byte at a time by acessing
I've got this function that adds two hexadecimal numbers together one byte at a time by acessing
我是一名优秀的程序员,十分优秀!