GLMapBufferObject and texture

I know how to use VBO and CUDA. Now I want to create heightmap - should I use same functions like with VBO? Sth like:

cutilSafeCall(cudaGLRegisterBufferObject(_texture));

float *texture;

cutilSafeCall(cudaGLMapBufferObject((void**)&texture, _texture));

cutilSafeCall(cudaGLUnmapBufferObject(_texture));

And 2nd question - I need more than 256 variables for mapping height. What’s the type of data stored in 24/32-bit texture? I can read colors of BMP files as chars but when I use GLSL I have floats. So are the colors of texture in GPU memory real floats?