0
select (bin(~'101010101010101')) as Result;

Result is : '1111111111111111101001000010000111000000110011111000000101001010'

这是真的吗?

我希望看到这个结果:

'111111111111111111111111111111111111111111111111010101010101010'

请帮帮我。

4

2 回答 2

1

您正在将字符串传递给按位运算。这些操作是为 mysql 中的 BIGINT 整数定义的,因此您可能会得到意想不到的结果。

你应该试试:

SELECT bin(~0x5555) as Result

或者:

SELECT bin(~b'101010101010101' ) as Result

结果是:

'1111111111111111111111111111111111111111111111111010101010101010'
于 2012-07-07T08:03:41.053 回答
0

看起来 101010101010101 被解释为十进制数。它的二进制表示是 10110111101111000111111001100000111111010110101。补充这个,你得到打印结果。

于 2012-07-07T07:52:26.730 回答