Many MATLAB functions and operators default to double (double-precision floating point), but some functions and operators work with other object types too. For example, if you type 2+2, the answer 4 will be double. If you type x=int8(2) and then x+x, the answer 4 will be int8.
If you wish to identify the type of an object, try the 'class' function. For example, class(pi) returns the string 'double'.
from Matlab help:
"ISLOGICAL(X) returns true if X is a logical array and false otherwise.
Logical arrays must be used to perform logical 0-1 indexing."
eg.
>> x=[0 1 0 1 0 0 1]
x =
0 1 0 1 0 0 1
>> y=logical(x)
y =
0 1 0 1 0 0 1
>> z=islogical
z =
1
in workspace, y and z are both logical class,...
For the second question "Yes", float is the default...