楼上的,全世界有名的算法,价值几千亿的算法md5就要用到这些啊
上面的是这一算法的一部分不过貌似我理解错了,如果是整数,很可能是32位,根据浏览器的不同而不同吧我还要问一问,md5算法,是不是一个固定的函数,
什么样的值就会有什么样的输出,不能对这个函数做一点点的调整?
上面的是这一算法的一部分不过貌似我理解错了,如果是整数,很可能是32位,根据浏览器的不同而不同吧我还要问一问,md5算法,是不是一个固定的函数,
什么样的值就会有什么样的输出,不能对这个函数做一点点的调整?
解决方案 »
- 这两个个js怎么加密的?有难度
- JavaScript数组关联挖掘的问题。。。求解!
- 如果用iframe 调用带有top.location.href=self.location的网页?
- who能帮我一下!
- iframe里显示的是一个xml文件, 怎样在iframe父窗口中取得xml树数据
- ■■■如何不让出现仅在HTML帮助中才有此功能对话框??!!!■■■
- 我想在网页中,按了esc键后自动执行操作,比如关闭窗体,怎么做?
- 100分,求教!在*.html中如何不打开文本文件直接下载(不用asp,jsp)
- e-port javascript在哪里下载,我用的是2.2但现在已经起码是3.0以下版本了,
- 请教selection的关联更新的问题,高手请看,:-)
- js不能使用
- 【javascript】【css】请高手解析下这段 经典二级菜单
你把十进制转换成二进制就好理解了
比如
5二进制位
00000101 5<<2 就表示左移2位
变成了
00001010就是表示十进制20同理>>就是右移
5>>2
变成
00000001结果为10x80是16进制,转换成十进制是8*16=128
%是模运算,就是取余数
var len=999.9999;
var n=len>>5;
document.write(n+'<br>');
var n=0x80<<((len)%32);
document.write(n+'<br>');
var n=(len+64)>>>9;// >>>应该是无符号右移,不是简单的补0概念;你可以把9换成2看看什么结果
document.write(n+'<br>');
结果:
31
16384
2
能详解的解释一下么?很奇怪
len显然是浮点数,
len+64也是浮点数
怎么移位的时候就变成无符号了呢?真是奇怪由上面的一系列运算规则来看,应该可以得出这个结论:任何+ - * % / 只要运算数有一个是整数,那么结果就是整数这样的话len%32=70x80<<7为什么会等于16384?
我们来反过来推:
16384/128=128=2的7次方2的7次方-》左移7位,也就是<<7,有什么问题吗?0x80是16进制,左移操作是转成2进制后进行的
有机会再请教二位