Cast from int32 to float32 changes the value.
Hi @SuryanarayanaY can I also contribute to this issue 
I tried casting the int64 to float 64 to obtain the outputs
`import tensorflow as tf`
`tensor_int64 = tf.constant(52479845, tf.int64)`
`tensor_float64 = tf.cast(tensor_int64, tf.float64)`
`print(tensor_float64)`

This was giving the output as below :
 `tf.Tensor(52479845.0, shape=(), dtype=float64)`

 This is the standard limitation of floating point precision.

In IEEE 754 single precision (float), there are 23 bits allocated for the mantissa, allowing for approximately 7 decimal digits of precision.

Due to this finite precision, not all real numbers can be represented exactly in the floating-point format. This limitation leads to rounding errors or inaccuracies in calculations, especially when dealing with numbers that require more precision than what can be represented within the given number of bits.

For more detail, visit https://en.wikipedia.org/wiki/IEEE_754 This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further. Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/61876">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/61876">No</a>

### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

source

### TensorFlow version

2.13.0

### Custom code

Yes

### OS platform and distribution

_No response_

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

 Here what I see is that the bug actually happens b/c as we are doing the conversion from int32 to float32 the value changes, as there is a rounding error that occurs when casting an integer to a floating-point type as float32 is not the high precision floating point type like float64, and the bug will also remain the same if we change them even to int64 from int32.

### Standalone code to reproduce the issue

```shell
> The code is below 
>> tf.cast(tf.constant(52479845, tf.int64), tf.float32)
<tf.Tensor: shape=(), dtype=float32, numpy=52479844.0>
>> tf.cast(tf.constant(52479843, tf.int64), tf.float32)
<tf.Tensor: shape=(), dtype=float32, numpy=52479843.0>
```


### Relevant log output

```shell
### Relevant log output

_No response_
```
