Rumah> Java> javaTutorial> teks badan

Teknik pengiraan berangka di Jawa

王林
Lepaskan: 2023-06-08 14:07:07
asal
1736 orang telah melayarinya

Java ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pembangunan peringkat perusahaan. Dalam pembangunan Java, pengiraan berangka adalah bahagian asas dan sangat penting. Melalui artikel ini, kami akan memperkenalkan beberapa teknik pengiraan berangka yang biasa digunakan di Jawa.

1. Cegah ralat titik terapung

Di Java, pembolehubah jenis titik terapung mungkin tidak semestinya dapat mewakili nilai tertentu dengan tepat, kerana nilainya diwakili dalam binari dalam komputer. Kadangkala perwakilan binari mereka bergelung tanpa had. Dalam kes ini, hasil pengiraan titik terapung mungkin tidak tepat.

Contohnya, mengira operasi tambah mudah 0.1 + 0.2, hasil yang kami dapat mungkin 0.30000000000000004, yang agak berbeza daripada hasil jangkaan kami.

Untuk mengelakkan ralat titik terapung, kita boleh menggunakan kelas BigDecimal untuk melakukan pengiraan berangka yang tepat. Kelas ini menyediakan sokongan untuk nombor perpuluhan ketepatan arbitrari.

Pembina kelas BigDecimal boleh menerima rentetan yang mewakili nombor titik terapung yang perlu dikira dengan tepat. Sebagai contoh, anda boleh menggunakan kod berikut untuk mengira hasil 0.1 + 0.2:

BigDecimal num1 = new BigDecimal("0.1");
BigDecimal num2 = new BigDecimal("0.2");
BigDecimal sum = num1.add(num2);
System.out.println(sum);

Kod ini akan mengeluarkan 0.3, iaitu hasil yang kami jangkakan.

2. Gunakan kelas Matematik untuk pengiraan matematik

Kelas Matematik Java menyediakan banyak kaedah pengiraan matematik yang biasa digunakan, seperti fungsi trigonometri, fungsi eksponen, fungsi logaritma, dsb. Anda boleh menggunakan kaedah ini untuk melakukan pelbagai pengiraan berangka. Berikut ialah beberapa kaedah kelas Matematik yang biasa digunakan:

  1. abs(x): Mengembalikan nilai mutlak x.
  2. maks(x, y): Mengembalikan nombor yang lebih besar antara x dan y.
  3. min(x, y): Mengembalikan nombor yang lebih kecil antara x dan y.
  4. pow(x, y): Mengembalikan x dinaikkan kepada kuasa y.
  5. sqrt(x): Mengembalikan punca kuasa dua bagi x.
  6. pusingan(x): Mengembalikan integer yang paling hampir kepada x.

Sebagai contoh, anda boleh menggunakan kod berikut untuk mengira nilai fungsi sinus:

double sinValue = Math.sin(Math.PI / 6);
System.out. println(sinValue);

Kod ini akan mengeluarkan 0.5, iaitu nilai sinus π/6.

3. Gunakan operasi bitwise untuk pengiraan

Dalam Java, anda juga boleh menggunakan operator bitwise untuk melakukan beberapa pengiraan berangka, seperti bitwise AND, bitwise OR, bitwise XOR, dsb. Menggunakan operasi bitwise untuk pengiraan boleh meningkatkan kelajuan dan kecekapan pengiraan. Berikut ialah beberapa operator bit yang biasa digunakan:

  1. &: Operasi Bitwise AND, AND operasi dilakukan pada setiap bit binari dua operan Bit dengan hasil 1 mewakili bit yang sepadan dua operan Kedua-duanya ialah 1.
  2. |: Operasi OR Bitwise, OR dilakukan pada setiap bit perduaan dua operan Bit dengan hasil 1 bermakna sekurang-kurangnya satu daripada bit yang sepadan bagi dua operan ialah 1.
  3. ^: Operasi Bit XOR, operasi XOR dilakukan pada setiap bit binari dua operan Bit dengan hasil 1 menunjukkan bahawa bit yang sepadan bagi kedua-dua operan adalah berbeza.
  4. ~: operasi bitwise BUKAN, menyongsangkan setiap bit perduaan operan.

Sebagai contoh, anda boleh menggunakan kod berikut untuk mengira jumlah dua nombor binari:

int a = 0b101; // 5
int b = 0b110; / 6
int hasil = a ^ b; // 11
int bawa = (a & b) << 1; // 10
semasa (bawa != 0) {

int temp = result; result = result ^ carry; carry = (temp & carry) << 1;
Salin selepas log masuk

}
System.out.println(result);

Kod ini akan mengeluarkan 0b1011, iaitu 11.

Di atas adalah teknik pengiraan berangka yang biasa digunakan di Jawa. Dalam pembangunan sebenar, aplikasi fleksibel mesti dijalankan mengikut keperluan yang berbeza untuk meningkatkan kualiti dan prestasi kod pada masa yang sama dengan lebih baik.

Atas ialah kandungan terperinci Teknik pengiraan berangka di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!