javascript高级程序设计读书笔记--二进制移位
来源:互联网 发布:门禁复制软件 编辑:程序博客网 时间:2024/05/22 12:29
<!DOCTYPE html><html><head> <title>Unsigned Right Shift Example 1</title> <script type="text/javascript"> /*想象一个32位的格子,每个格子里面放的是0和1①<<左移 符号位不动 其他31位向左移动,然后右边多出的空位全部补0②>>有符号的右移 符号位不动其他31位向右移动,符号位右侧多出的空白位补符号位的值,符号位是0,就补0,是1就补③>>>无符号的右移 32位向右移动,左侧多出的用0补 正数效果同有符号右移 负数无符号右移后会变成很大的正数④ 计算机中负数是以补码形式存在的,负数求补码的步骤是1.求其绝对值的原码 2.求该原码的反码 3.反码加1*/ //00000000000000000000000000000010 绝对值的原码//11111111111111111111111111111101 反码//11111111111111111111111111111110 反码+1得到补码 var oldValue = -2; //11111111111111111111111111111110 操作这个补码 var newValue = oldValue << 5; //11111111111111111111111111000000 操作完毕,开始求对应原码 //11111111111111111111111110111111 补码-1 //00000000000000000000000001000000 取反,得到原码 及64 // alert(newValue); //64 //0*1 + 0*2 + 0*4 + 0* 8 + 0*16 + 0*32 + 1*64 = 64//00000000000000000000000001000000 绝对值64的原码//11111111111111111111111110111111 反码//11111111111111111111111111000000 补码var oldValue = -64; //11111111111111111111111111000000 无符号右移会把这个补码当成原码处理 var newValue = oldValue >>> 5;//00000111111111111111111111111110 无符号右移完毕 直接当成原码解析alert(newValue); //134217726 </script></head><body> </body></html>
0 0
- javascript高级程序设计读书笔记--二进制移位
- javascript高级程序设计-----------------读书笔记
- JavaScript 高级程序设计 读书笔记
- 《javascript高级程序设计》读书笔记
- 《JavaScript高级程序设计》读书笔记
- 《javascript高级程序设计》读书笔记
- JavaScript高级程序设计 读书笔记
- JavaScript高级程序设计--读书笔记
- Javascript高级程序设计 读书笔记
- <<JavaScript高级程序设计>>读书笔记
- JavaScript高级程序设计读书笔记
- javascript高级程序设计读书笔记(一)
- JavaScript高级程序设计读书笔记(二)
- JavaScript高级程序设计 读书笔记(一)
- 《javascript高级程序设计》读书笔记-基本概念
- 《Javascript高级程序设计》--读书笔记(一)
- 《Javascript高级程序设计》--读书笔记(二)
- 《JavaScript高级程序设计》读书笔记1
- hdu 4417 可持久化线段树 (区间<=x的数的数量
- Learning to Rank(基于学习的排序):
- VC维的来龙去脉
- Android-自定义控件学习笔记
- Servlet概述
- javascript高级程序设计读书笔记--二进制移位
- Tool(工具):
- Linux C++ 中文处理
- HDOJ 1155 Bungee Jumping
- 用navicat导入xlsx文件无法打开
- 快速排序
- 我的安卓开发学习笔记一:安卓系统架构
- 一张电影票引发的思考,谈谈边际成本和机会成本
- 【CodeForces 510B 】