MATLAB supports various numeric data types including signed and unsigned integers and single-precision and double-precision floating point numbers. By default, MATLAB stores numbers as double-precision floating point values. Functions like double(), single(), int8(), etc. can be used to convert numbers to different data types. These functions return the maximum and minimum values that can be represented by each data type, such as -128 to 127 for int8 and -2147483648 to 2147483647 for int32.