十进制转二进制:

例:十进制(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. Jmeter 在什么情况下定义多个thread group?

    Jmeter里面有三种线程组:setUp thread group, TearDown thread group, thread group. 如果想定义100个用户登录系统,60个用户做A操作,40 ...

  2. Linux下使用《du》命令查看某文件及目录的大小

    du -ah --max-depth=1     这个是我想要的结果  a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du -sh 目 ...

  3. java中约瑟夫环代码实现

    问题原型: 传说在很久很久以前,有一架搭载着n个人的飞机出现了故障,迫降在了一个荒岛上.飞机彻底报废后,这些人用飞机的残骸建成了一艘只能容纳一个人乘坐的小船,那么怎么去确定这n个人中哪个人有资格上船呢 ...

  4. PHP程序中的redis一些写法

    <?php /** * 以下均要先链接好redis */ sdk\libs\RedisHelper::connect("s1")->keys('*'); //这个是获取 ...

  5. B - Equidistant String

    B - Equidistant String Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  6. HDOJ-1391

    Number Steps Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  7. 4-1eclipse & 4-2在eclipse下开发Java

    ecplise是一款继承的开发工具,可以开发我们的java程序. 下载地址: https://www.eclipse.org/downloads/ 视频中ecplise的版本 安装Ecplise: 默 ...

  8. php破解防盗链技术

    php破解防盗链技术 发送http请求 构造referer信息 在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 具体方法http.cl ...

  9. Qt-MVC图形视图框架初识

    使用QPushButton.QLabel.QCheckBox等构成GUI的控件或自定义图形时,开发应用程序会变得很简单.但是如果想在GUI中使用数十个或者数百个图形对象,向用户完美展示控制场景,则会受 ...

  10. 347. Top K Frequent Elements (sort map)

    Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...