在32位系统中,存储一位整型(int)数需要4个字节(4B),如果开辟一个空间,把其中的某个位1,就从原来的32b减少到1b,大大节省了空间。

原理

字符数组entry是存储位的数组,我们把数字N存到entry中,则

把第N位置1:entry[nBits/8] = entry[nBits/8] | (1 << (nBits%8) )

检验第N位是否为1:entry[nBits/8] & (1 << (nBits%8)

图示

函数

void setBit(char entry[], int nBits)
{entry[nBits/8] = entry[nBits/8] | (1 << (nBits%8) );
}int checkBit(char entry[], int nBits)
{return (entry[nBits/8] & (1 << (nBits%8) ));
}

本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3169570.html,如需转载请自行联系原作者

位操作——整数用位存储相关推荐

  1. 32位存储环境下整数范围为什么是[-2^31,2^31-1]?

    一.概念:存储单位 1."位"是数据存储的最小单位.在计算机中的二进制数系统中,位,简记为bit,也称为比特,每个0或1就是一个位. 2."字节"是计算机信息技 ...

  2. (7)-(Reverse Integer)-(将整数按位反转成另外一个整数,考虑溢出)-(知道最大整数和最小整数值)...

    (7)-(Reverse Integer)-(将整数按位反转成另外一个整数,考虑溢出)-(知道最大整数和最小整数值)//Reverse digits of an integer.//Example1: ...

  3. 1037U无盘服务器,1037u硬盘录像机主板 NAS/NVR/IP-SAN 12*SATA 多盘位存储 存储服务器主板...

    "1037u硬盘录像机主板 NAS/NVR/IP-SAN 12*SATA 多盘位存储 存储服务器主板"详细介绍 1.  支持英特尔赛扬1037处理器 2.  英特尔○R赛扬1037 ...

  4. Redis之三大特殊数据类型相关知识(Geospatial地理位置、Hyperloglog基数、Bitmaps位存储)

    Redis之三大特殊数据类型 一.Geospatial地理位置 1.介绍 2.相关shell命令 2.1 规则 2.2 geoadd命令(给城市赋值) 2.3 geopos命令(获取指定城市的经度和纬 ...

  5. python 整数逆位运算_整数及其位运算

    整数及其位运算 整数具有无限精度.有四种整数表示法:十六进制整数(0x 或 0X 开头),十进制整数,八进制整数(0o 或 0O 开头)和二进制整数(0b 或 0B 开头). # 十六进制 0x10 ...

  6. Java判断一个整数有多少位

    Java判断一个整数有多少位 首先,封装一个判断位数的方法:使用for循环进行判断整数的位数.直到传进的整数小于数组中某个值时,停止循环. /*** 获取整数有多少位* @param num 要判断的 ...

  7. python 整数逆位运算_Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  8. python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算

    天学习的内容整理成脑图如下,其中带☆的是需要重点掌握的模糊知识点,需要加强训练和记忆. 二.具体学习内容 2.1 注释 2.1.1 多行注释 2.1.2 长字符串注释 2.2 运算符 2.2.1 算术 ...

  9. 多个开关标志位存储的设计思路

    前端时间配合前端需求的时候出现一个场景,需要存储大量的state状态,例如是否开启推送.短信.夜间模式等状态.如果使用单表多字段去存这些信息就显得得不偿失.考虑到开关只有开关状态的情况下,使用01二进 ...

最新文章

  1. go语言panic机制的原理
  2. 2012 RDS Remote App 对于win7的支持问题
  3. git reset和git revert
  4. 【机器学习基础】浅谈为什么L2正则化有效
  5. luogu P3241 [HNOI2015]开店
  6. 数学作图工具_八十中成功举办北京市初中数学教学研讨会
  7. 浅谈jQuery的选择器
  8. 学Kafka,就必须了解的再均衡问题!
  9. css之使用clearfix类清除浮动
  10. tensorflow之ExponentialMovingAverage
  11. 推荐给初学LSTM或者懂个大概却不完全懂的人
  12. 【自动驾驶】PurePursuit实现轨迹跟踪
  13. java声音提取_如何在Android中使用java从mp4中提取音频到mp...
  14. 固态硬盘安装window系统的一些注意事项
  15. 2017 闰秒 linux,闰秒为什么会导致Linux出现问题
  16. unity scripting backend mono vs il2cpp
  17. 大数据-玩转数据-阿里DataWorks开发治理平台
  18. 可以批量制作吊牌标签上的条码标签打印软件
  19. Java--敲重点!JDK1.8 HashMap特性及底层数组+单链表+红黑树知识(建议收藏)
  20. jsonPath解析测试

热门文章

  1. php超链接访问,怎么给一个PHP密码访问页面加超链接
  2. oracle 代码 字段映射,将ORACLE TIMESTAMP(9)字段映射到java.util.Date
  3. php常用操作字符串函数,php字符串几个常用的操作函数
  4. python中的json_简单介绍Python中的JSON使用
  5. linux 中*与?结合起来的威力,匹配一个或者多个
  6. python真实环境与虚拟环境均配置jupyter的方法,虚拟开发环境增加到notebook选项中
  7. batch size 越大,学习率也要越大
  8. apply与applymap的区别
  9. 服务器flask远程访问_在Flask中使用什么API来检查远程(其他)服务器的连接?...
  10. cjson使用_LiteOS云端对接教程01-cJSON组件使用教程