2016.04.27【H5移动开发】VIP学员作业

头像
CrazyPotato
2016-04-27 22:24:24

知识点:移位运算符的使用

作业:完成 66>>2

要求:贴出计算步骤。

全部回复
正序查看
头像
吉林王族

66 ==> 2进制:

 66/2=33 %=0

 33/2=16 %=1

 16/2=8  %=0

 8/2=4   %=0

 4/2=2   %=0

 2/2=1   %=0

 1


 66===>1000010

 补位为8位: 01000010

 右移2位:   00010000

 

 00010000==>十进制:

 0*2^0=0

 0*2^1=0

 0*2^2=0

 0*2^3=0

 1*2^4=16

 再往高位 后面都是0 加合到一起=16            

 结果为16 

 

 最后用代码测试下

 <script>

   var a=66;

   alert(a.toString(2))//1000010

   var b=(a>>2)

   alert(b)//16

 </script>


2016-04-27 22:45:14
...
头像
h6896

66=64+2;

64==>2^6=1000000;

2==>2^1=10;

64==>1000010;


右移2位:10000;

10000==>1*2^4=16;

2016-04-27 23:37:00
...
头像
吉林王族

B_109.gif

2016==〉二进制:


2016/2=1008  %=0

1008/2=504   %=0

504/2=252    %=0

252/2=126    %=0

126/2=63     %=0

63/2=31      %=1

31/2=15      %=1

15/2=7       %=1

7/2=3        %=1

3/2=1        %=1

1

2016===>11111100000


2016===>八进制

2016/8=252 %=0

252/8=31   %=4

31/8=3     %=7

3


2016===>3740



2016===>十六进制

2016/16=126  %=0

126/16=7     %=e

7


2016===>7e0


<script>

  var a=2016

   alert(a.toString(2))//11111100000

   alert(a.toString(8))//3740

   alert(a.toString(16))//7e0

 </script>


2016-04-28 00:34:15
...
头像
吉林王族

补充: 得到二进制后也可以直接进行 8,16进制的转换:

   二转八:
    11111100000=>011 111 100 000=>3740
   二转十六:
    11111100000=>0111 1110 0000 =>7e0

  当然遇到数字大得这么多的1和0很容易查错,当然还是最笨的方法最保险B_01.gif

2016-04-28 00:47:52
...
头像
吉林王族
用这种方法还可以快速算出像 351575 这样大数据的 二进制
2016-04-28 07:33:07
...
头像
大坏蛋

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<script>

var a = 66

var b= a>>2

//转二进制 66/2……0

// 33/2……1

// 16/2……0

// 8/2……0

// 4/2……0

// 2/2……0

// 1/2……1

//

//结果 1000010

//补0 01000010

//

//移位 00010000

//

//转十进制 0*2^7+0*2^6+0*2^5+1*2^4+0*2^3+0*2^2+0*2^1+0*2^0=16

//

//输出 16

document.write(b);

</script>

</body>

</html>


2016-04-30 19:51:59
...
没有更多了