From: Joe Van Dyk Date: 2004-11-19T07:53:19+09:00 Subject: Extracting ints from a unsigned long I have a bunch of binary data consisting of 4 ints stored inside an unsigned long. Here's psuedo C code to extract out the ints: // data is a FILE pointer to the file unsigned long temp; fread(temp, sizeof(temp), 1, data); int first = temp >> 24; int second = temp << 8 >> 24; int third = temp << 16 >> 24; int fourth = temp << 24 >> 24; I'm trying to do the same thing in Ruby, but I'm having difficulties with the bitshifting. Any ideas? Would it make since to inline C code in Ruby for this? Joe