0 0

拜请:是Ruby中的String类中的一个方法不知道是什么意思?15

"now is the time".sum        结果是1408  ?
"now is the time".sum(8)     结果是128   ?


sum返回str中字符一个基本的n位校验和,这里n是可选的参数,默认是16。对str中的每一个字符的二进制值简单求和,然后用2的n次方减1求模,得到这个校验和。




哪位前辈能作出详细的解答,谢谢了!
2009年2月05日 21:58

2个答案 按时间排序 按投票排序

0 0

采纳的答案

根据ruby文档应该为:
"now is the time"的二进制值为:
6eH 6fH 77H 20H 69H 73H 20H 74H 68H 65H 20H 74H 69H 6dH 65H
简单相加为:1408
如果用2的16次方-1,即65535对它就求模得到1408.
如果用2的8次方-1,即255对它就求模得到1408-(1408/255)*255=133(与实际上ruby运行到达的值128不符。)
但是不用2的n次方不再-1的话,就没有问题。是不是文档说明有误?


2009年2月06日 00:22
0 0

PS:这是为了保证数据安全传输而采用校验和(checksum)的算法。文档里面说功能太弱,建议用其它的方式。

2009年2月06日 00:25

相关推荐

    离职演讲稿的写作方法与技巧.doc

    《离职演讲稿的写作方法与技巧》 离职演讲稿,作为一种特殊的表达方式,不仅体现了个人对工作的总结与展望,更是人际交往中展示个人素养的重要环节。以下将详细解析离职演讲稿的特点、基本写法以及写作要求,以帮助...

    罗盘的基本使用要领.doc

    口诀中提到的"拜请九天玄女娘娘、鬼谷先师、郭公先师、杨公先师、赖公先师",都是风水学历史上的重要人物,他们被尊为风水术的先驱者。诵读这样的口诀,旨在获得精神上的支持和指引,确保测量的准确性和吉祥。 二、...

    原创一次性口令(OneTimePassword)C语言源码

    技术是一种接近自然随机数算法:均态分布随机数算法(非正态分布/高斯分布随机数算法)。 可能是超简单、超快速、超高效的口令生成器。 欢迎各路加解密精英高手破解,如果您破解了,拜请通知我。

    动态base64 C源码 动态生成base64密码

    base64编码的动态版本,即动态base64密码。程序每运行一次就变一次,没有重复。此算法是本人原创,可能是超简单,超快速,超高效的生成base64密码的C语言程序。欢迎各路精英来破解,如果您破解了,拜请您通知我!

    易语言 IP端口转换器

    此源代码是本人准对专需软件编写的,如果需要下载的话请适量给予修改或只做参考之用,以免不适合你的使用。源码的注释并没怎么做,如要参考还请自行查考易语言的帮助。如果你是高手,小弟在此敬请赐教。拜请更多高手...

Global site tag (gtag.js) - Google Analytics