int转换为byte,截取的有关问题

int转换为byte,截取的问题
int:257的二进制形式是“100000001”一共9位数,将257转换为byte类型,因为一比特只有8位,所以转换时需要舍弃掉一位数,请问为什么舍弃的是第一位的1,而不是舍弃最后的1?有人和我说这是二进制与运算和左/右移动运算符有关。

还有第二个问题:在int转换为float时,由于float只有23位精度,所以需要舍弃掉int的一些数据,请问为什么舍弃的是后面的位,而不是前面的位。
int转换为byte,截取的有关问题
------解决思路----------------------
1,应该理解为保留后八位,因为只能存储八位

2,int-->float不损失精度,float的取值范围比int大,只要以float的存储形式存储就行了

public class Test {
    public static void main(String[] args) {
int i = 385;
System.out.println(Integer.toBinaryString(i));
float f = i;
int j = Float.floatToIntBits(f);
System.out.println(Integer.toBinaryString(j));//浮点类型385f的二进制形式
System.out.println(f);

int max = Integer.MAX_VALUE;
System.out.println(Integer.toBinaryString(max));
float f_max = max;
System.out.println(Integer.toBinaryString(Float.floatToIntBits(f_max)));
System.out.println(max);
System.out.println(f_max);

int min = Integer.MIN_VALUE;
System.out.println(Integer.toBinaryString(min));
float f_min = min;
System.out.println(Integer.toBinaryString(Float.floatToIntBits(f_min)));
System.out.println(min);
System.out.println(f_min);
}
}