我正在制作一个创建程序生成的地牢的游戏,我找到了一个使用位掩码来检索房间号和门类型等内容的例子.

在该示例中,他使用位掩码从每个图块的整数中提取细节.并且整数被这样分解

0xLLSDRRET

L - is the Level Number

S - Denotes a special tile(Like Stairs)

D - is if its a door,and what type(Door,Arch,Trapped)

R - Room number

E - Flags an entrance to a room

T - Names the type of tile(Floor,Cooridor,Blocked)

在这里,他使用一个位掩码来获取,例如,房间号码,如:

int[][] map = new int[40][40]

int $ROOM_ID = 0x0000FF00;

System.out.println(map[x][y] & $ROOM_ID);

现在有了这个,如果map [x] [y]是例如0x00001200,那么输出将是1200.这部分掩模我明白了.

但在源$ROOM_ID是ACTUALLY 0x0000FFC0,我不明白C做什么,因为我尝试了不同的值,我似乎无法抓住C做的,例如

0x00001200 output-> 1200

0x00001210 output-> 1200

0x00001220 output-> 1200

0x00001230 output-> 1200

0x00001240 output-> 1240

0x00001250 output-> 1240

0x00001260 output-> 1240

0x00001270 output-> 1240

0x00001280 output-> 1280

0x00001290 output-> 1280

0x000012A0 output-> 1280

0x000012B0 output-> 1280

0x000012C0 output-> 12C0

0x000012D0 output-> 12C0

0x000012E0 output-> 12C0

0x000012F0 output-> 12C0

有更多位掩码知识的人可以解释为什么0x0000FFC0& 0x000012F0 = 12C0?

JAVA中FC什么意思_java – 位掩码的规则是什么?像0xFF vs. 0xFC相关推荐

  1. java输出值取后两位小数,java中取小数点后两位(四种步骤)

    java中取小数点后两位(四种方法) 一 java.text.DecimalFormat df = new java.text.DecimalFormat("#.##"); dou ...

  2. java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍

    1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做. 位掩码 主要通过位运算,例如与(&).非( ...

  3. java中的mod运算_Java源码中Integer类位运算分析

    在这里对源码中Integer的部分位运算方法做一个分析解读.同理,可以比较一下其他Number的子类,对位运算部分的设计和性能有一个理解. 在java中,Integer是int类型的包装类型,占4个字 ...

  4. java 中random类使用_Java中的天使和魔鬼:Unsafe类

    我们在看ConcurrentHashMap源码时经常看到Unsafe类的使用,今天我们来了解下Unsafe类. Java是一个安全的编程语言,它能最大程度的防止程序员犯一些低级的错误(大部分是和内存管 ...

  5. java中的基本数据类型_Java中的基本数据类型和引用数据类型

    数据类型用于帮助确定变量可存放的一组值,以及可对这组特定值执行的操作.Java提供了在所有平台上都普遍支持的多种数据类型. 一.基本数据类型 byte:Java中最小的数据类型,在内存中占8位(bit ...

  6. java中序列化与反序列化_Java中的序列化

    java中序列化与反序列化 Java提供了一种称为序列化的机制,以按字节的有序或字节序列的形式持久化Java对象,其中包括对象的数据以及有关对象的类型和存储在对象中的数据类型的信息. 因此,如果我们已 ...

  7. java中缓冲区和缓存_Java中的Google协议缓冲区

    java中缓冲区和缓存 总览 协议缓冲区是一种用于结构化数据的开源编码机制. 它是由Google开发的,旨在实现语言/平台中立且可扩展. 在本文中,我的目的是介绍Java平台上下文中协议缓冲区的基本用 ...

  8. java中类型转换的造型_Java总结篇系列:类型转换/造型

    Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用. 首先, ...

  9. java中审核订单流程图_Java 后端横扫阿里、滴滴、美团总结的面试经验!

    这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金山云. ...

最新文章

  1. ajax 切换列表,javascript实现列表切换效果
  2. 大流量的网站如何解决访问量的问题?
  3. Java基础小常识-继承-(10)
  4. gettype拿不到值_被玩家强行改位置的5个英雄,他上单无解,杀吕布灭铠爹,这都拿去辅助?...
  5. html 循环tr只显示一个,动态加载进来的tr该如何去循环查看它的值呢
  6. 10-python-字典
  7. node.js async流程控制器--queue(队列)
  8. ThinkPad X220i 刷白名单BIOS,改装第三方无线网卡
  9. 数据科学 IPython 笔记本 7.12 透视表
  10. html表格布局方式有那几种,前端几种常见的布局方式
  11. MySQL binlog相关分析
  12. 通过代码控制ArcGIS Server的服务
  13. 通俗易懂的UART协议帧格式
  14. tplink查看上网记录_Tplink路由器PPPOE拨号不能上网日志查看原因
  15. SiamRPN代码分析:test
  16. CoreDNS 1.9.0 openEuler 21.09 测试报告
  17. Bypass-分流抢票
  18. m3u8 视频提取工具(下载web中的ts文件)
  19. 网站适配IE浏览器的几个注意事项
  20. Shell脚本中的流程控制,如if判断,case语句,for循环,while循环

热门文章

  1. 如何运行一个python下的的小游戏
  2. 知识付费项目真的靠谱能赚钱吗?
  3. mem系列函数使用总结
  4. ajax练习,AJAX 自学练习 请求与显示
  5. B树?这篇文章彻底看懂了!
  6. 计算机图形学之GAMES101课程作业3的TBN矩阵
  7. 从零开始学习信号完整性--6-带宽
  8. 常见英语单词的过去式和过去分词
  9. 火狐怎么导入收藏夹_Firefox如何将IE收藏夹和Firefox书签相互转移
  10. cloudreve重置管理密码