八位图 16位图_了解位图

八位图 16位图

几周前,我和Alistair正在研究用于对节点附加到Neo4j数据库中的标签进行建模的代码。

这种工作方式是将32个节点ID的块表示为每个标签的32位位图 ,其中1表示1表示节点具有标签,0表示没有标签。

例如,假设我们有节点ID 0-31,其中0是最高位,而31是最低位。 如果只有节点0具有标签,则将其表示为以下值:

java> int bitmap = 1 << 31;
int bitmap = -2147483648

如果我们想象32位彼此相邻放置,它将看起来像这样 :

2014-01-12_15-45-16

java> 0X80000000;
Integer res16 = -2147483648

我们要做的下一件事是确定节点是否应用了标签。 我们可以通过使用按位AND来实现。

例如,要检查是否设置了最高位,我们将编写以下代码:

java> bitmap & (1 << 31);
Integer res10 = -2147483648

正如我们所想象的那样。 现在让我们检查一下一些我们尚未设置的位:

java> bitmap & (1 << 0);
Integer res11 = 0java> bitmap & (1 << 1);
Integer res12 = 0java> bitmap & (1 << 30);
Integer res13 = 0

我们可能要执行的另一项操作是在现有位图上设置另一位,我们可以对其使用按位“或”运算。

按位“或”表示如果一个值设置了该位或两个值都设置了,则将置位。

让我们设置第二高的位。 并可视化该计算:

2014-01-12_15-45-161

如果我们评估,我们期望设置两个最高位:

java> bitmap |= (1 << 30);
Integer res14 = -1073741824

现在,如果我们可视化位图,我们将看到确实如此:

2014-01-12_17-16-21

java> 0XC0000000;
Integer res15 = -1073741824

我们要做的下一个操作是取消设置已经设置好的位,可以使用按位异或。

异或表示只有在计算中包含(0和1)或(1和0)的组合时,该位才会保持设置状态。 如果有两个1或2 0,那么它将被取消设置。

让我们取消设置第二高的位,以便仅设置最高位。

如果我们形象化地进行以下计算:

2014-01-12_17-33-21

并且如果我们评估返回到原始位图:

java> bitmap ^= (1 << 30);
Integer res2 = -2147483648

我使用Java REPL评估了本文中的代码示例,并且本文非常清楚地解释了移位运算符 。

这篇文章中描述的Neo4j版本的位图位于github上的BitmapFormat类中。

参考:在Mark Needham博客博客中,从我们的JCG合作伙伴 Mark Needham 了解位图 。

翻译自: https://www.javacodegeeks.com/2014/01/learning-about-bitmaps.html

八位图 16位图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调制深度,峰均值功率比,脉冲整形等因素对于调制损耗的影响...

我们知道光发射机中一个非常重要的参数是发射功率。如果光发射机处于无源光网络&#xff08;PON&#xff09;&#xff0c;没有后续放大器的情况&#xff0c;发射功率很大程度上决定了发射机可以传输的距离 &#xff08;功率预算&#xff0c;power budget&#xff09;&#xff1…

移动流量转赠给好友_私域流量的五大认知误区

各大品牌主对于私域流量存在的认知误区 &#xff0c;你是否也这样认为&#xff1f;目前看起来&#xff0c;私域流量好像只要前期投入&#xff0c;后期就可以为自身带来源源不断的流量&#xff0c;但是私域流量真的像看起来那么美吗&#xff1f;其实不是的&#xff0c;我们对于私…

MATLAB 显示输出数据的三种方式

1. 改变数据格式 当数据重复再命令行窗口时&#xff0c;整数以整形形式显示&#xff0c;其他值将以默认格式显示。MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小&#xff0c;那么将会以科学记数法的形式显示。比如&#xff1a; >> x100.11x 100.1100>…

Matlab 语句

1. 显示输出数据的三种方式 1.1 改变数据格式 当数据重复再命令行窗口时&#xff0c;整数以整形形式显示&#xff0c;其他值将以默认格式显示。MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小&#xff0c;那么将会以科学记数法的形式显示。比如&#xff1a; &g…

Probability, Matringale,Markov Chain, MCMC

一、基本知识 1. 条件概率 条件概率是指在某件事情已经发生的前提下&#xff0c;另一件事情在此基础上发生的概率&#xff0c;举例来说P(A丨B)表示B发生的基础上&#xff0c;A也发生的概率&#xff0c;基本公式为&#xff1a; 2. 条件期望 在上述概率下的期望我们称之为条…

html 按钮 按下 状态_科普|你身边的手动火灾报警按钮,您了解吗?

手动火灾报警按钮手动火灾报警按钮&#xff0c;是火灾报警系统中的一个设备类型&#xff0c;当建筑发生火灾时在火灾探测器没有探测到火灾的时候人员手动按下手动火灾报警按钮&#xff0c;报告火灾信号&#xff0c;向建筑所属消防控制室报火警。正常情况下当手动火灾报警按钮报…

马尔可夫蒙特卡罗 MCMC 原理及经典实现

我们在做机器学习、深度学习或自然语言处理等项目时&#xff0c;经常采用什么方法采样呢&#xff1f;大家马上会想到吉布斯 Gibbs 采样&#xff0c;今天我们来分享一种比较实用的采样方法&#xff1a;马尔可夫蒙特卡罗方法&#xff0c;吉布斯采样是其中的一种。 Markov chain …

les物流执行系统_【精益运营】立足智慧物流 推进仓储智能化稳步升级

近年来&#xff0c;“智能制造”成为制造行业的热门词汇&#xff0c;也成为引领物流行业发展的风向标。今年在两会中&#xff0c;“智能”一词首次写入报告&#xff0c;为传统行业改造升级、实现协同共享带来了新的发展机遇。早在2017年12月&#xff0c;根据公司对VMI业务整合工…

增益比值 dB 以及 dBw-dBmv 等之详解

dB 分贝&#xff08;工程应用&#xff09;&#xff0c;dB&#xff08;Decibel&#xff0c;分贝&#xff09;是一个纯计数单位&#xff0c;本意是表示两个量的比值大小&#xff0c;没有单位。在工程应用中经常看到貌似不同的定义方式&#xff08;仅仅是看上去不同&#xff09;。…

带有Spring Boot 2支持的Apache Camel 2.22发布

今天&#xff0c;我们发布了最新的Apache Camel 2.22.0版本 &#xff0c;这是第一个正式完全支持Spring Boot 2的版本。这是一项重大的工作&#xff0c;因为针对像Apache Camel这样的大型框架将Spring Boot v1升级到v2付出了很多努力–感谢骆驼队和他们的贡献。 对Spring Boot …

java 分布式事务_Java核心知识 Spring原理十五 JPA 原理

1. 事务事务是计算机应用中不可或缺的组件模型&#xff0c;它保证了用户操作的原子性 ( Atomicity )、一致性( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。2. 本地事务紧密依赖于底层资源管理器(例如数据库连接 )&#xff0c;事务处理局限在当前事务资源内…

Latex中定理、引理、证明、假设、空白行的编写

1. 引理 \newtheorem{lemma}{Lemma}[section] \begin{lemma} \label{lemma1}\end{lemma}编译效果&#xff1a; 2. 定理 \newtheorem{thm}{\bf Theorem}[section] \begin{thm}\label{thm1} Suppose system (\ref{l1}) satisfies Assumption (\ref{mim1}), the closed-loop s…

Latex设置字体大小

全局模式 \documentclass[12pt]{article} 在文档的开头&#xff0c;有设置整个文章的字体大小&#xff0c;如&#xff1a;12pt。 局部模式 设置字体大小的命令从小到大为&#xff1a; \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge…

c 结构体在声明时赋值_C/C++编程笔记:C++入门知识,C++多态性和虚函数解析

本篇要学习的内容和知识结构概览多态性编译时的多态性称为静态联编. 当调用重载函数时, 在编译期就确定下来调用哪个函数.运行时的多态性称为动态联编. 在运行时才能确定调用哪个函数, 由虚函数来支持.静态联编中的赋值兼容性及名字支配规律派生一个类的原因并非总是为了添加新…

concurrent vs. simultaneous

Both the words mean “occurring at the same time”, but “concurrent” represents the events that occur over a period of time whereas “simultaneous” represents the events that occur at a point in time. https://www.perfmatrix.com/concurrent-users-vs-simul…

使用Spring Boot和GraphQL构建安全的API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 GraphQL是Facebook在2012年开发的一种数据查询语言&#xff0c;用于解决REST API和传…

ue4材质节点大全_转载于知乎:UE4 多象限(UDIM)贴图在UE4中的应用

各位小伙伴早上好啊&#xff01;真的又隔了很久才再次见面。。这次是工作上一个同事在网上看到了一篇有意思的文章分享给我&#xff0c;觉得这种方式确实挺有意思&#xff0c;反正我是之前没有这么去考虑过。希望能够给大家带来一点启发!!此文章转载于知乎:UE4 多象限(UDIM)贴图…

Latex各种命令、符号、公式、数学符号、排版等

本文仅供学习参考使用&#xff0c;一切版权和解释权均归原作者所有&#xff0c;转载地址&#xff1a;http://blog.csdn.net/garfielder007/article/details/51646604 数学符号详细内容见&#xff1a;http://mohu.org/info/symbols/symbols.htm 直接查看链接 http://www.mohu.o…

app inventor调用图像识别_+AI场景,3步懂图像识别产品

本文重点讲述基于成熟的第三方AI平台阿里、某度、腾讯、谷歌等等中选择一个可供使用的SDK基于Python语言实现图像识别功能的GUI界面&#xff0c;从而一观图像识别车型、图像识别文本产品的实现过程。我们正处于各种图像识别的场景里&#xff0c;你去某些生鲜超市不用手机可以实…

适用于Java EE / Jakarta EE开发人员的Micronaut

城镇中有一个名为Micronaut的新微服务框架。 在本文中&#xff0c;我将从Java EE / Jakarta EE的角度讨论如何冒险使用Micronaut框架。 我是Java EE开发人员&#xff0c;因此使用诸如Eclipse MicroProfile之类的解决方案开发微服务更接近我的专业知识&#xff0c;但是Micronaut…