[#24536] 「Rubyの落し方」 v.s. ruby_1_8 — akira yamada / やまだあきら <akira@...>

<URL:http://jp.rubyist.net/magazine/?0002-RubyCore>

40 messages 2004/10/20
[#24541] Re: 「Rubyの落し方」 v.s. ruby_1_8 — Yukihiro Matsumoto <matz@...> 2004/10/20

まつもと ゆきひろです

[#24599] 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/26

2004-10-20 (水) の 21:38 +0900 に Yukihiro Matsumoto さんは書きました:

[#24605] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-26 (火) の 16:16 +0900 に akira yamada / やまだあきら さんは書きました:

[#24606] Re: 1.8.2 preview3? — Yukihiro Matsumoto <matz@...> 2004/10/27

まつもと ゆきひろです

[#24608] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-27 (水) の 11:48 +0900 に Yukihiro Matsumoto さんは書きました:

[#24620] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-27 (水) の 12:42 +0900 に akira yamada / やまだあきら さんは書きました:

[#24629] Re: 1.8.2 preview3? — Tanaka Akira <akr@...17n.org> 2004/10/29

In article <1098888819.9446.14.camel@rice.p.arika.org>,

[ruby-dev:24385] "\x80".sum is 65408

From: Tanaka Akira <akr@...17n.org>
Date: 2004-10-02 03:55:46 UTC
List: ruby-dev #24385
次のように、"\x80".sum が 65408 になるのですが、これは 128 じゃないんでしょうか。

% ./ruby -ve 'p "\x80".sum' 
ruby 1.9.0 (2004-10-02) [i686-linux]
65408

ドキュメントの

| sum([bits=16])
|    
|     文字列の bits ビットのチェックサムを計算します。以下と同じです。
|    
|     sum = 0
|     str.each_byte {|c| sum += c}
|     sum = sum & ((1 << bits) - 1) if bits != 0

という記述に従って計算すると

% ruby -e '
str = "\x80"
bits = 16
sum = 0
str.each_byte {|c| sum += c}
sum = sum & ((1 << bits) - 1) if bits != 0
p sum
'
128

というように 128 になりますし、perl や sum コマンドを使ってもそうなります。

% perl -e 'print unpack("%16C*", "\x80"), "\n"'
128
% ruby -e 'print "\x80"'|sum   
00128     1

(sum コマンドは初めて使ったのであまり自信がありませんが)
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next