I love Ruby very much and now Ruby is my first language.But now I meet a
problem on Ruby.I want to do as follows:
1:Open a file in binary mode
2:Shift the bit in a algorithm
3:Save the file
I don't know how to shift the bit stream in Ruby.Can any one give me an
advice???
<code>
n = 1
n = n << 2 # => 4 (left shift)
n << -1 # => 2 (right shift)
</code>
Regards, Morton
···
On Feb 7, 2007, at 9:13 PM, Minxing Liu wrote:
I love Ruby very much and now Ruby is my first language.But now I meet a
problem on Ruby.I want to do as follows:
1:Open a file in binary mode
2:Shift the bit in a algorithm
3:Save the file
I don't know how to shift the bit stream in Ruby.Can any one give me an
advice???
I should also mention that >> is a bit-shift operator, too. Works the opposite of <<.
<code>
n = 4
n = n >> 2 # => 1
n >> -1 # => 2
</code>
Regards, Morton
···
On Feb 7, 2007, at 9:13 PM, Minxing Liu wrote:
I love Ruby very much and now Ruby is my first language.But now I meet a
problem on Ruby.I want to do as follows:
1:Open a file in binary mode
2:Shift the bit in a algorithm
3:Save the file
I don't know how to shift the bit stream in Ruby.Can any one give me an
advice???
As mentioned before, you can use the >> and << operators to perform
bit shift operations, but these only work with integers. You will need
to use the pack and unpack methods to convert the strings you read
from the file into integers.
This example assumes you have a file full of 32-bit integers in
big-endian format. It will shift each integer 2 bits to the right.
Blessings,
TwP
···
On 2/7/07, Minxing Liu <lmxbitihero@gmail.com> wrote:
I love Ruby very much and now Ruby is my first language.But now I meet a
problem on Ruby.I want to do as follows:
1:Open a file in binary mode
2:Shift the bit in a algorithm
3:Save the file
I don't know how to shift the bit stream in Ruby.Can any one give me an
advice???