我有一个包含0/1(布尔型数字的char数组)的字符数组(char charr [5])。现在,我想将字符数组转换为64位整数(如果数组是{0,0,0,1,0},它将给出2)。怎么做 ?有没有库函数?布尔型数字到64位整数的字符数组
1
A
回答
3
不,没有标准的功能。但是,这是很简单的:
uint64_t pack(const uint8_t *bits, size_t n)
{
uint64_t x = 0, value = 1 << (n - 1);
while(n > 0)
{
x += value * *bits++;
n--;
value /= 2;
}
return x;
}
+0
我摆脱'价值',只是使用班次,但否则它很好。 – nneonneo
0
1
开卷有权的基本概念,而是一个复杂的实现。这也适用:
uint64_t pack(const uint8_t *bits, size_t n)
{
uint64 x = 0;
for(;n > 0; n--) // For all input bits.
{
x <<= 1; // make room for next bit.
assert(*bits <= 1); // It better be a 0 or 1.
x += *bits++; // Add new bit on the end.
}
return x;
}
相关问题
- 1. c#IndexOutOfRangeException布尔型字符数组
- 2. 布尔值到数组的字符串?
- 3. JavaScript类型的数组:64位整数?
- 4. 指定64位数据模型上的64位无符号整数文字
- 5. 从字符串64位整数转换
- 6. 字符数组到整数
- 7. 复制短整型到字符数组
- 8. 转换字符数组/字符串布尔数列
- 9. 角度绑定数组和布尔/字符串数据类型
- 10. PHP - 字符串到64位数
- 11. 移位N位整个字符数组
- 12. 转换字符数组到整型数字用C
- 13. PHP 64位数字?
- 14. 解析字符串到整数数组
- 15. 字符数组到单个整数
- 16. 整数数组素数到布尔数组
- 17. 字符数组的整型指针
- 18. 类型检查字符串值,如“字符串”&“整数”和“布尔”
- 19. C++整数数组和布尔函数
- 20. C/C++整数到十六进制字符数组到字符
- 21. SSRS - 用字符串和布尔参数过滤整数
- 22. 64位数字到2x 32位
- 23. 如何将48位字节数组转换为C中的64位整数?
- 24. 转换字符数组长整型
- 25. 分割数字字符串到整数数组
- 26. 无符号16位和64位整数
- 27. 关于字节数组到长长(64位)数组与长(32位)的问题
- 28. C++整数类型自动的64位
- 29. 数组类型布尔
- 30. ruby整数到布尔值
只需要手动执行...使用按位运算符解决这个问题并不是一个特别困难的问题。 – nneonneo
如果它确实是一个小阵列,你需要这个经常我会建立一个查找表 –