CodeGym /Blog Java /Ngẫu nhiên /Cách chuyển đổi int thành gấp đôi trong Java

Cách chuyển đổi int thành gấp đôi trong Java

Xuất bản trong nhóm

Nói ngắn gọn về kiểu int và double trong Java

int là một kiểu Java nguyên thủy cho các số nguyên (chẳng hạn như -25, 0, 1828182845). Loại này sử dụng 32 bit để lưu trữ một giá trị biến. Phạm vi của các số int là từ -231 đến 231 - 1 hoặc giống nhau, từ -2147483648 đến 2147483647. Kiểu kép trong Java biểu thị các số dấu phẩy động, phân bổ 64 bit trong bộ nhớ và phạm vi của loại là -1,7 *10308 đến 1,7*10308. Nếu bạn đại diện cho phạm vi của int ở dạng tương tự, nó sẽ là -2*109 до +2*109. Tôi nghĩ rõ ràng là bất kỳ số lượng kiểu int nào cũng sẽ phù hợp với bộ nhớ được phân bổ cho một số kiểu nguyên thủy kép. Ngoài ra, bất kỳ số nguyên nào cũng có thể được biểu diễn dưới dạng một số phân số có phần phân số bằng 0. Từ quan điểm toán học, chắc chắn rằng: 5 = 5,0 hoặc -57,0 = -57.

Chuyển đổi int thành gấp đôi

Từ góc độ Java, các kiểu double và int cũng tương thích. Vì chuyển đổi int thành gấp đôi là chuyển từ lớn hơn sang nhỏ hơn, loại chuyển đổi này gọi kiểu mở rộng hoặc mở rộng ẩn. Bạn có thể tự động chuyển int thành double trong Java bằng cách gán giá trị int cho một biến double. Hãy có một ví dụ mã về đánh máy:

public class intToDouble {
   public static void main(String[] args) {
       int myInt1 = 10;
       int myInt2 = 2147483647;
       double myDouble1, myDouble2;
       System.out.println("my integers are: " + myInt1 + ", " + myInt2);
       myDouble1 = myInt1;
       myDouble2 = myInt2;
       System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
   }
}
Đây là đầu ra:
số nguyên của tôi là: 10, 2147483647 sau khi đánh máy/mở rộng thành gấp đôi: 10.0, 2.147483647E9
Ghi chú: E9 ở đây có nghĩa là 109, nó được gọi là ký hiệu khoa học. Cũng lưu ý rằng các số kép thường được viết với dấu chấm phân cách phần phân số. nếu bạn khai báo một biến double và đặt một giá trị vào đó, thì không cần thiết phải làm điều này, nhưng ở đầu ra, số double sẽ luôn có một phần phân số, ngay cả khi nó bằng không.

Chuyển đổi int thành double bằng thao tác số trung lập

Hơn nữa, tất cả các thao tác số trên các biến thuộc các kiểu khác nhau trong Java đều dẫn đến việc mở rộng kiểu. Đó là, kết quả của hoạt động sẽ thuộc loại rộng hơn. Do đó, để chuyển đổi từ int thành double, bạn có thể sử dụng thao tác “trung lập”. Ví dụ: nhân một số nguyên với 1,0 (một số kép) hoặc thêm 0,0 vào một số nguyên. Dưới đây là một ví dụ về việc đánh máy như vậy:

public class intToDouble {
   public static void main(String[] args) {
       double a = 1;  //you can also write 1.0 here. If you print it out it will be 1.0
       int b = 5, x = 7;
       System.out.println(x + 0.0);
       System.out.println(a*b);
   }
}
Đầu ra là:
7,0 5,0
Nhân tiện, bạn có thể chuyển đổi thành gấp đôi không chỉ int, mà tất cả các kiểu nguyên thủy số. Đây là thứ tự chuyển đổi có thể từ nhỏ nhất đến lớn nhất:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION