首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite中意外的位掩码结果

SQLite中意外的位掩码结果
EN

Stack Overflow用户
提问于 2014-09-13 20:48:39
回答 1查看 85关注 0票数 0

在SQLite中有一些奇怪的情况:

使用位掩码0x04的第一种情况(正常):

代码语言:javascript
复制
import sqlite3

con = sqlite3.connect("~/test.db")
cursor = con.cursor()

cursor.execute("SELECT ((525824 & 04) == 04)")
print 'Sqlite bitwise masking 04: ', cursor.fetchall()      #sqlite bitmask
# Sqlite bitwise masking 04:  [(0,)] // E.g. false

print 'Python bitwise masking 04: ', 525824 & 0x04 == 0x04  #python bitmask
# Python bitwise masking 04:  False  // E.g. false

在SQLite和Python中也有相同的结果。那好吧。

第二种情况(意外)与位掩码0x00080000:

代码语言:javascript
复制
cursor.execute("SELECT ((525824 & 00080000) == 00080000)")
print 'Sqlite bitwise masking 00080000: ', cursor.fetchall()
# Sqlite bitwise masking 00080000:  [(0,)] // E.g. False

print 'Python bitwise masking 00080000: ', 525824 & 0x00080000 == 0x00080000
# Python bitwise masking 00080000:  True  // E.g. True

为什么第二个病例的结果是不同的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-13 20:58:14

第一种情况是因为十六进制4等于小数4,但在第二种情况下,十六进制0x80000不等于小数80000。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25827574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档