Hello Saravanan_R,
According to the Tensorflow doc 1,
1.If the given x,y are int32 output of tf.devide() is float64 datatype default.


For example, if x = tf.constant([16, 11])  and y = tf.constant([4, 2]),
tf.devide output:
16/4 = 4 and 11/2 =5.5 which is float value.
Thats reason tf.devide output is set datatype of float64 as default.


If you are looking for the Tensorflow api which takes integer input and result in an integer.
Use tf.math.floordiv(x, y), Where x and y are of datatype int32. Result will have datatype of int32. For more details refer this link 1

import tensorflow as tf
x = tf.constant([16, 12, 11])
y = tf.constant([4, 6, 2])
tf.math.floordiv(x, y)



Output:

<tf.Tensor: shape=(3,), dtype=int32, numpy=array([4, 2, 5], dtype=int32)>



In case of tf.devide, if the inputs are of float32, output will be of float32. LHS and RHS datatype are same.

import tensorflow as tf
x = tf.constant([16.0, 12.0, 11.0])
y = tf.constant([4.0, 6.0, 2.0])
print(x)
tf.divide(x,y)



Output:

>     > tf.Tensor([16. 12. 11.], shape=(3,), dtype=float32)
>     > <tf.Tensor: shape=(3,), dtype=float32, numpy=array([4. , 2. , 5.5], dtype=float32)>