我在寻找sql基础知识,我决定在postgresql上写SELECT ~1;,结果它返回-2.当我try 这个更大的数字时,它总是返回整数的下一个整数和负数(~300和-301).我想知道原因是什么.

推荐答案

~显然是100接线员.1=0b00001,~1=0b111...110 = -2.

这也被称为ones' complement.正如您所知,数字使用two's complement作为负数的表示(当时为-0==0):

-x == ~x+1
~x == -x-1

Postgresql相关问答推荐

读取扩展坞合成中的UDP:IO/超时

复合索引列的顺序导致不同的计划

Jsonb[]字段中的PostgreSQL否定&q;-0.0

从数据集中提取彼此喜欢的用户(&Q;)

在Postgre中的链接服务器上执行远程查询

如何获得一起满足数量要求的物品? (WHILE 循环还是 CTE?)postgresql

需要用 jack/pgx 更新 golang 中复合类型的 PSQL 行

订阅标签保存在哪个表中?

如何将 JSONB 对象数组合并为 PostgreSQL 中的单个对象

使用 JDBC 连接到 PostgreSql 的本地实例

Nodemon - 安装期间clean exit - waiting for changes before restart

更详细地解释 JOIN 与 LEFT JOIN 和 WHERE 条件性能建议

在 Postgresql 中获取星期几

在 PostgreSQL 中表示Sparse稀疏数据

在 PostgreSQL 中跳过每 n 个结果行

如何使用 Node.js 和 Postgresql 找到最后一个插入 ID?

为什么是||在 PostgreSQL/Redshift 中用作字符串连接

pgadmin 错误:no password supplied

Capistrano 与 PostgreSQL,错误:database is being accessed by other users

性能调优:为布尔列创建索引