terapung r = 5.0f
atau
ganda r = 5.0
Nilai 5.0 ialah nombor yang diwakili sebagai pecahan perpuluhan (mempunyai integer dan bahagian pecahan). Dalam sains komputer, nombor sedemikian dipanggil sebenar
Nombor nyata ialah nombor yang mempunyai bahagian integer dan bahagian pecahan. Bahagian integer dan pecahan dipisahkan antara satu sama lain dengan titik, bukan dengan koma seperti dalam matematik.
Walaupun bahagian pecahan nombor adalah sifar, seperti dalam pembolehubah \(r\) dalam contoh, penterjemah masih akan mencipta pembolehubah sebenar dalam ingatan. Intinya, seolah-olah, isyarat untuk penterjemah bahawa adalah perlu untuk mencipta pembolehubah sebenar.
Nombor yang sangat besar dan sangat kecil ditulis menggunakan "titik terapung" (dalam apa yang dipanggil format saintifik).
Dalam format saintifik, nombor diwakili sebagai mantissa(bahagian penting nombor) dan eksponen. Apabila dinyatakan, mantissa dan eksponen dipisahkan antara satu sama lain dengan huruf e (menunjukkan 10 sedikit sebanyak).
Contohnya, anda boleh menyimpan nilai cas elektron ( \(1.60217662 \times 10^{-19}\) C) dalam pembolehubah, menulis dalam bentuk berikut
terapung El = 1.60217662e-19f //untuk susunan positif, tanda + boleh diabaikan
atau
bergandaEl= 1.60217662e-19
Hampir semua nombor nyata tidak boleh disimpan dalam memori komputer dengan ketepatan yang sempurna, kerana bilangan bit yang terhad diperuntukkan untuk penyimpanannya. Oleh itu, apabila mengira dengan nombor nyata, ralat yang berkaitan dengan ketidaktepatan perwakilan terkumpul. Lebih-lebih lagi, semakin sedikit ruang yang diperuntukkan, semakin besar ralat ini. Untuk mengurangkan ralat dalam Java, jenis double digunakan, yang menyimpan nombor nyata dengan ketepatan berganda dalam ingatan (menduduki lapan bait dalam ingatan, manakala taip \(float \)- 4 bait)
|
Masuk
Anda boleh memasukkan beberapa pembolehubah sebenar daripada aliran input dan menulisnya kepada pembolehubah dengan cara standard:
double x = in.nextDouble();
float y = in.nextFloat();
Nombor pertama masuk ke dalam pembolehubah \(x\), yang kedua masuk ke dalam \(y\)
Output
Java mempunyai beberapa cara untuk memaparkan nombor nyata.
1) System.out.printf untuk keluaran konsol ringkas
Secara lalai, apabila menggunakan printf, nombor nyata dicetak dengan ketepatan sehingga 6 tempat perpuluhan. Tetapi ada kes yang perlu dikeluarkan dengan ketepatan yang berbeza. Dalam kes ini, anda mesti menentukan berapa banyak kebiasaan untuk diperuntukkan selepas titik perpuluhan.
dua kali ganda a=0.5;
System.out.printf("%f",a); // pada skrin 0.500000
System.out.printf("%.2f",a); // pada skrin 0.5
System.out.printf("%10.2f",a); // anda boleh menetapkan jumlah bilangan jawatan yang diperuntukkan untuk output nombor
System.out.printf("%.2e",a); // memaparkan nombor dalam format saintifik dengan ketepatan 2 digit
2) DecmialFormat untuk mendapatkan rentetan daripada nombor menggunakan corak yang diberikan
Kelas DecmialFormat membolehkan anda mengawal output sifar di hadapan dan di belakang, awalan dan akhiran, ribuan pemisah dan sepuluh ribu pemisah, tetapi ini menjadikan kod itu sedikit lebih kompleks.
dua kali ganda a = 123.45;
DecimalFormat df = new DecimalFormat("#.###");
String diformat = df.format(a); System.out.println(formatted); //123.45
Input |
Templat |
Output |
Nota |
123.45 |
#.# |
123.5 |
Dipaparkan ke satu tempat perpuluhan dengan pembundaran |
123.45 |
#.#### |
123.45 |
Memaparkan nombor bulat tanpa mendahului sifar |
123.45 |
#.0 |
123.5 |
Dipaparkan ke satu tempat perpuluhan dengan pembundaran |
123.45 |
#.000 |
123.450 |
Dipaparkan sehingga aksara ketiga dengan sifar yang tidak ketara pada penghujung |
Apabila bekerja dengan nombor nyata, anda boleh menggunakan kelas M ath yang sudah biasa, yang mengandungi sejumlah besar fungsi terbina dalam.
Apabila menyelesaikan masalah, selalunya perlu untuk membundarkan nombor nyata kepada nilai integer terdekat. Terdapat dua fungsi untuk ini.
INGAT
1 dengan penukaran jenis eksplisit ( float x=1.5f; int y = int (x) ) - bahagian pecahan nombor nyata dipotong ( y = 1)
2 Matematik. tingkat(x) - mengembalikan integer terbesar kurang daripada atau sama dengan \(x\) (bundarkan ke bawah)
3 Matematik.ceil(x) - mengembalikan integer terkecil lebih besar daripada atau sama dengan \(x\) (round up)
Berikut ialah fungsi paling berguna yang terkandung dalam modul cmath .
Fungsi |
Penerangan |
Membundar |
bulat(x) |
Membundarkan nombor kepada integer terdekat. Jika bahagian pecahan nombor itu ialah 0.5, maka nombor itu dibundarkan kepada nombor bulat terdekat. |
lantai(x) |
Membundarkan nombor ke bawah ("lantai"), dengan itu lantai(1.5) == 1, lantai(-1.5) ==  ; -2 |
ceil(x) |
Membundarkan nombor ke atas ("siling"), manakala siling(1.5) == 2, siling(-1.5) ==  ; -1 |
abs(x) |
Modulo (nilai mutlak). |
Akar, logaritma |
sqrt(x) |
Akar kuasa dua. Penggunaan: y = sqrt(x) |
pow(x, y) |
Meningkatkan x kepada kuasa y. \(x^y\) |
log(x) |
Logaritma semula jadi. |
exp(x) |
Asas logaritma asli e = 2.71828... |
Trigonometri |
sin(x) |
Sinus sudut yang dinyatakan dalam radian |
cos(x) |
Kosinus sudut yang dinyatakan dalam radian |
tan(x) |
Tangen bagi sudut yang dinyatakan dalam radian |
asin(x) |
Arcsine, mengembalikan nilai dalam radian |
acos(x) |
Kosinus arka, mengembalikan nilai dalam radian |
atan(x) |
Arctangent, mengembalikan nilai dalam radian |
atan2(y, x) |
Sudut kutub (dalam radian) bagi titik (x, y). |
Contoh penggunaan:
Meningkatkan 2 kepada kuasa, kerana pow mengembalikan dua kali ganda sebagai respons, maka penukaran kepada int diperlukan.
awam kelas Utama {
awam statik kosong utama(String[] args) < spanstyle="color:#666666">{
int a = 2;
int b = (< span style="color:#b00040">int)Matematik.pow(a,2);
}
}
| |