- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
大家好
我需要将 Int 转换为其十六进制值。示例:-40 => D8
我有一个用于正(或无符号)Int 的工作方法,但它不能像预期的那样对负数起作用。这是我的代码。
class func encodeHex(data:[Int]) -> String {
let hexadecimal = data.reduce("") { (string , element) in
var append = String(element, radix:16 , uppercase : false)
if append.characters.count == 1 {
append = "0" + append
}
return string + append
}
return hexadecimal
}
如果我超过 -40,我得到 -28。
有人可以帮忙吗?谢谢:)
最佳答案
我根据您现有的代码假设所有整数都在范围内-128 ... 127. 那么这会起作用:
func encodeHex(data:[Int]) -> String {
return data.map { String(format: "%02hhX", $0) }.joined()
}
"%02hhX"
格式打印最低有效字节给定以 16 为基数的 2 位整数。
例子:
print(encodeHex(data: [40, -40, 127, -128]))
// 28D87F80
关于 swift 3 : Negative Int to hexadecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40807031/
假设下面的数据框有“对象”类型的列“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
我是一名优秀的程序员,十分优秀!