按位&按位|按位~的详解
十进制转二进制:
例:十进制(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
按位&按位|按位~的详解的更多相关文章
- MyEclipse *的安装步骤和破解(32位和64位皆适用)(图文详解)
		
不多说,直接上干货! MyEclipse *的下载, 见 http://www.cnblogs.com/zlslch/p/5658195.html 简单说下, MyEclipse自己会带一个JDK,它 ...
 - 位运算,算术、逻辑运算详解-java篇
		
/** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...
 - STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI
		
1.AD7799介绍 AD7799结构图如下所示: 其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示: 注意: 如果REG_CONFIG的 ...
 - SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解
		
本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表 位运算 SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...
 - TCP/IP详解学习笔记 这位仁兄写得太好了
		
TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...
 - M1卡区块控制位详解
		
M1卡区块控制位详解 Mifare 1S50/Mifare 1S70 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取 控制.存取控制为4个字节,共32位,扇区中的每个块(包括 ...
 - Linux 权限位详解
		
1. Linux 权限位 对于权限,有点绕,因为文件的权限和目录的权限是有一些区别的. 在Linux中,有5种权限,分别是,r.w.x.s.t. 可读权限:r 可写权限:w 可执行权限:x Setui ...
 - [No0000154]详解为什么32位系统只能用4G内存.
		
既然是详解, 就从最基础的讲起了. 或者1来存储数据的, 所以Bit实际上可以看成存放1个二进制数字的1个位置.也就是说bit只有2种值, 0 或者 1, 所以1个bit能存放1个布尔类型的值(boo ...
 - BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
		
转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...
 - TCP/IP详解学习笔记   这位仁兄写得太好了.(转载)
		
TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记 这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...
 
随机推荐
- 001 - 配置Pycharm的字体大小
			
本文记录的是Pycharm2017年1月版本 1 配置代码区的字体大小 位置在 File -> setting -> Editor -> Color&Fonts -> ...
 - ABP 框架启程 及 ABP 翻译目录及传送门
			
准备动手写一套电商的系统,辗转收集了不少相关的开源项目,最后决定使用ABP作为起点. 在园子里好多人都在推广ABP.有个园友做了一个集合贴,方便大家使用 ABP集合贴 建议大家优先看 HK Zhan ...
 - Tyvj1052(树形DP)
			
P1052 没有上司的舞会 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以 ...
 - HttpClient入门教程
			
HttpClient使用详解与实战一:https://www.jianshu.com/p/375be5929bed
 - js格式
			
/** * Created by admin on 2017/9/22. */ // 分号后不要再有多余的空格 var name = "North"; var name = &qu ...
 - java.lang.NoSuchMethodError: org.springframework.core.io.ResourceEditor错误
			
一般是jar包冲突,或者某些jar包版本不同. 如上,spring其他包的版本均为4.2.5,而spring-webmvc的jar包为1.2.6版本,造成版本冲突. 把该包版本改为4.2.5,宣告成功 ...
 - TCPflow:在Linux中分析和调试网络流量的利器(转)
			
TCPflow是一款功能强大的.基于命令行的免费开源工具,用于在Unix之类的系统(如Linux)上分析网络流量.它可捕获通过TCP连接接收或传输的数据,并存储在文件中供以后分析,采用的格式便于协议分 ...
 - 继承映射关系 subclass的查询
			
Person大类的映射文件配置 1 <hibernate-mapping package="com.zh.hibernate.subclass"> <class ...
 - 转载 关于启用HTTPS的一些经验分享
			
本文转载自 https://imququ.com/post/sth-about-switch-to-https.html 随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 ...
 - PHP实用小程序(四)
			
<HTML> <HEAD> <TITLE>访问文件时间属性</TITLE> </HEAD> <BODY> <? $Last ...