同志们,我遇到个坑~~
情况是这个样子的,我有个十六进制0x0f1c00000000000000000000
我要转换成二进制,然后这个有12个Byte长度,也就是说,我得输出来是96个数,例:100...11...11
但是我发现我不知道用哪个可以来输出了,求解决方案,long 和 int 不够用。。。。
同志们,我遇到个坑~~
情况是这个样子的,我有个十六进制0x0f1c00000000000000000000
我要转换成二进制,然后这个有12个Byte长度,也就是说,我得输出来是96个数,例:100...11...11
但是我发现我不知道用哪个可以来输出了,求解决方案,long 和 int 不够用。。。。
16进制和2进制可以直接用“一一对应”的方式来转换的,即一个16进制数字,对应4个2进制数字。
1对应0001,2对应 0010,依次类推,f对应 1111
所以随便一个16进制数 abc, 转换方式是把 a换成 1010, b换成1011,c换成1100,拼起来结果就是101010111100
所以按这个规则,不管多长的16进制数字都能简单转换。
2 回答1.1k 阅读
1 回答994 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
1.3k 阅读
超出 64 bit 范围的数组已经无法用一个基础类型表达了,写一个
uint8_t[]
来存这个大数字,用 Big-Endian 的字节序。