ADXL345 Sensor perplexity

Well, The ADXL345 is the library I wrote myself. In the sketch all I do is take the values and print them in the monitor or my graph program made in processing.
All the problems would arise from the ADXL345 library, not the sketch.
A part of the problem is that when put in a tilt position the accelerometer, it gives me somewhere around(0,0,256) on (x,y,z axis).
And just to recap the second problem is that when I move the accelerometer into a position (after the setup function) it increments/decrements to a certain value on each axis.
This is some photos I took when I played with the graph.
1.http://imageshack.us/a/img171/4156/graphcapture5047.png
2.http://imageshack.us/a/img818/874/graphcapture4765.png
3.http://imageshack.us/a/img840/1816/graphcapture4128.png
4.http://imageshack.us/a/img821/8093/graphcapture3520.png

Excuse my distortions from the graphic, but my accelerometer is quite.. ,,big" therefore, quite difficult to move.
Now, what we are interested in is just the accelerometer values, which are in the left column. The red line is the x axis, the white one is the y axis and the green one is the z axis.
You'll see when the line is straight, the accelerometer doesn't move on that axis, but standing.

And this is the sketch:

#include <Adxl345.h>
#include <Wire.h>
Adxl345 accel;

short acc[3];
byte buff[3], single, multiple, freefall;
float out[3];
void setup()
{
  Wire.begin();
  Serial.begin(38400);
  accel.init();
}

void loop()
{
  accel.getValues(acc,buff);
  single=buff[0];multiple=buff[1];freefall=buff[2];
  for(byte i=0;i<3;i++)
  {
    out[i]=acc[i]*0.0039*9.80665;
  }
  Serial.print(out[0]);
  Serial.print(" ");
  Serial.print(out[1]);
  Serial.print(" ");
  Serial.println(out[2]);
  delay(30);
}