十进制转二进制:

例:十进制(5)---->二进制(00000101)

将整数除二取余,继续用除二的结果除二取余,最后将结果从下往上连接起来,不足八位,前面填0

二进制转十进制

例:二进制(00000101 )---->转十进制(5)

1*2^2+1*2^0 = 4+1 = 5;二进制第一位为符号位(0:正数,1:负数),值为  从符号位之后,2进制  2^(位置-1)之和 位置从右到左数起

八进制转十进制 同理:为 8进制  8^(位置-1)之和

按位与 "&"

例:5&8 => 0   "&"符号的原理是:将两个数字转换成二进制,然后比较他们对应位置上的值是否相同,如果两个都是1则取1,否则都为0,得到最终结果二进制值,最后转换成十进制值

首先将他们分别转换成二进制,得到:

5的二进制:00000101

8的二进制:00001000

5&8后得   :00000000  ------>转换成十进制之后就是0 , 所以5&8的结果为0

按位或 "|"

例:5|8 => 13   "&"符号的原理是:将两个数字转换成二进制,然后比较他们对应位置上的值是否相同,如果两个都是0才取0,否则都为1,得到最终结果二进制值,最后转换成十进制值

首先将他们分别转换成二进制,得到:

5的二进制:00000101

8的二进制:00001000

5|8后得   : 00001101  ------>转换成十进制之后就是13 , 所以5|8的结果为13

按位取反 "~"

例:~5 => -6   ~-5 => 4  "~"符号的原理是:正数:将数字转换成二进制后取反,然后在二进制符号位之后再次取反后加1得到最终结果二进制值,最后转换成十进制值;负数:将数字转换成二进制后取反,然后在二进制符号位之后先加1再次取反得到最终结果二进制值,最后转换成十进制值

正数按位取反于负数按位取反:~5和~-5

5的二进制:00000101

-5的二进制:10000101

~5---->00000101 ---->取反---->11111010  -----> 符号位后取反---->10000101---->符号位后面加1---->10000110     转换成十进制之后就是-6 , 所以~5的结果为-6

~-5 =>4

-5的二进制:10000101

~-5---->10000101 ---->取反---->01111010---->符号位后面加1---->01111011  -----> 符号位后取反---->00000100    转换成十进制之后就是4 , 所以~-5的结果为4

按位&按位|按位~的详解的更多相关文章

  1. MyEclipse *的安装步骤和破解(32位和64位皆适用)(图文详解)

    不多说,直接上干货! MyEclipse *的下载, 见 http://www.cnblogs.com/zlslch/p/5658195.html 简单说下, MyEclipse自己会带一个JDK,它 ...

  2. 位运算,算术、逻辑运算详解-java篇

    /** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...

  3. STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI

    1.AD7799介绍 AD7799结构图如下所示: 其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示: 注意: 如果REG_CONFIG的 ...

  4. SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解

    本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表   位运算   SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...

  5. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  6. M1卡区块控制位详解

    M1卡区块控制位详解 Mifare 1S50/Mifare 1S70 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取 控制.存取控制为4个字节,共32位,扇区中的每个块(包括 ...

  7. Linux 权限位详解

    1. Linux 权限位 对于权限,有点绕,因为文件的权限和目录的权限是有一些区别的. 在Linux中,有5种权限,分别是,r.w.x.s.t. 可读权限:r 可写权限:w 可执行权限:x Setui ...

  8. [No0000154]详解为什么32位系统只能用4G内存.

    既然是详解, 就从最基础的讲起了. 或者1来存储数据的, 所以Bit实际上可以看成存放1个二进制数字的1个位置.也就是说bit只有2种值, 0 或者 1, 所以1个bit能存放1个布尔类型的值(boo ...

  9. BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

    转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...

  10. TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

    TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...

随机推荐

  1. Java 并发 —— volatile 关键字

    volatile 修饰变量等于向编译器传达如下两层含义: 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的. 禁止进行指令重排序. volat ...

  2. 使用 Git 命令去管理项目的版本控制(二)

    参考 上一篇  完成本篇博客,本篇为作者原创,仅供学习参考. 本篇博文在上一篇的基础上这里记录了我的一个小模拟练习.本篇作为自己的学习笔记,也意在方便其他人的学习使用,达到分享目的.下面主要是操作截图 ...

  3. Codeforces1110F Nearest Leaf dfs + 线段树 + 询问离线

    Codeforces1110F dfs + 线段树 + 询问离线 F. Nearest Leaf Description: Let's define the Eulerian traversal of ...

  4. sql server 2008 R2 升级与安装遇到的问题

    因工作需要,遂把以前的2008升级到r2,升级失败,具体原因忘了,卸载2008,清了注册表删了文件,结果安装的时候失败了,如下图: 下一步-有错误日志和错误的序列号,错误日志在C:\Program F ...

  5. CodeForces - 767C Garland 树的遍历

    C. Garland time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  6. F#周报2019年第20期

    新闻 2019年理事会活动 "实用的F#挑战"意见截止日期接近,不要忘记提交博客文章或者其它作品 接口中的默认实现 .NET Core 3.0里的性能增强 使用Try .NET创建 ...

  7. bat 批处理之提取带有关键字的整行数据

    用于在log中检索出insert sql语句,主要用于数据恢复 前言: a.txt 里面存放的是 需要查找的关键字 b.bat limian 存放的是执行程序 生成的文件存放在 c.txt(自动创建) ...

  8. TP5实现签到功能

    基于tp5 模型的一个签到功能: 由于存储所有的签到日期数据库会非常庞大,所以签到日期只存储近三个月的. 具体功能: 1.记录最近一次的签到时间 2.每次签到都会添加15积分 3.有连续签到的记录 C ...

  9. HDU4801【DFS】

    参考:大牛博客 题意:  给你一个2阶魔方,给你24个数代表颜色,然后让你求在<=n次操作里面最多能搞出几面是一样的. 思路: 就是一个DFS嘛,就是怎么转搞出来: 上面: 22 23 4 0 ...

  10. 一种Unity2D多分辨率屏幕适配方案

    http://www.cnblogs.com/flyFreeZn/p/4073655.html 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏 ...