1

我想将十六进制转换为二进制

如果我使用 conv 函数,那么如果该结果包含大于 64 位的二进制值,则会给出错误结果

我想将十六进制以下转换为二进制

十六进制 b3c935bb3667c964db1381db72fd8c897023879b19ab42e937839983cece465d18b719b8a37059ead4152298396f78743aa48245d1d80b899d19bd4e8217c963a1628e

如果我使用 conv 函数,它会给出如下结果:

 SELECT CONV('b3c935bb3667c964db1381db72fd8c897023879b19ab42e937839983cece465d18b719b8a37059ead4152298396f78743aa48245d1d80b899d19bd4e8217c963a187e97d028726c2 ',16,2);

输出:

11111111111111111111111111111111111111111111111111111111111111

但我想要这样的答案:

101100111100100100110101101110110011011001100111110010010110010011011011000100111000000111011011011100101111110110001100100010010111000000100011100001111001101100011001101010110100001011101001001101111000001110011001100000111100111011001110010001100101110100011000101101110001100110111000101000110111000001011001111010101101010000010101001000101001100000111001011011110111100001110100001110101010010010000010010001011101000111011000000010111000100110011101000110011011110101001110100000100001011111001001011000111010000110000111111010010111110100000010100001110010011011000010

4

1 回答 1

1

b3c935bb3667c964db1381db72fd8c897023879b19ab42e937839983cece465d18b719b8a37059ead4152298396f78743aa48245d1d80b899d19bd4e8217c963a187e97d028726c2不能被视为十六进制值,它远大于最大 64 位整数值,相当于(7FFFFFFFFFFFFFFF)16.

MySQL 为您提供正确的(7FFFFFFFFFFFFFFF)16 = (0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111)2. 如果要达到您提到的结果,请改用字符串到二进制转换。

于 2017-09-18T12:37:23.217 回答