十进制转二进制and位运算符

先给大家送个福利!

---------------简单口算--------------------------

  10 >>  1010 

  除2取余倒写

/*
十进制转二进制
规则是:除二取余倒写 10 10/2 0 5/2 1 2/2 0 1
*/
------------------------------------------干货---------------------------------------------------------------

最近在复习基础 看到位运算符 & | ^ ~ >> <<
&: 两个位置的同时为1结果就为1否则为0
|:两个位置只要有一个为1结果就为1否则为0
^:两个位置不相等就为1,否则为0
~: 取反,1的话结果是0 0的话结果是1
M >> N : 把M的二进制向右移动N位, 则十进制的操作数每移动一次除以2,并丢弃非整余数
M << N: 把M的二进制向左移动N位,则二进制的操作数每移动一位乘以2
   
  2&5的运算
/*
   010
 & 101
=  000(十进制为0)
*/
   2|5的运算
/*
   010
 | 101
= 111(十进制为7)
*/
   2^5的运算
/*
   010
^  101
= 111(十进制为7)
*/
      ~2的运算   
/*
   ~010
   =101(十进制为:5)
*/ 
5<<2
/*
5的二进制:101
向左移动两位就是10100
---------------------
或者5*2*2
结果就是20
*/
5>>2
/*
5的二进制:101
向左移动两位就是001
(舍掉后边的01 给前边加两个0)
---------------------
或者5/2/2
结果就是1
*/

--------------------------------研究了一下,简单的规则----------------------------------------

0->000            7->111

1->001            6->110

2->010            5->101

3->011            4->100



----------------------------- 电脑运算-----------------------------------

十进制转二进制

js代码
alert(parseInt("1010", 2))

Result:10

二进制转十进制

var i = 987654321
alert((i).toString(2))

Result:1010

-------------------------最后大奉送----------------------------------

十进制转八进制parseInt(num).toString(8) 
十进制转十六进制parseInt(num).toString(16) 
二进制转十进制parseInt(num,2) 
八进制转十进制parseInt(num,8) 
十六进制转十进制parseInt(num,16) 
二进制转八进制parseInt(num,2).toString(8) 
八进制转二进制parseInt(num,8).toString(2) 
二进制转十六进制parseInt(num,2).toString(16) 
十六进制转二进制parseInt(num,16).toString(2) 
八进制转十六进制parseInt(num,8).toString(16) 
十六进制转八进制parseInt(num,16).toString(8)

原文地址:https://www.cnblogs.com/0banana0/p/3411935.html