Jenis data titik terapung mewakili nombor nyata, termasuk bahagian perpuluhan. Data dunia nyata adalah kompleks dan memerlukan jenis data yang menyokong nombor nyata.
1. Pemalar titik terapung Pemalar sebenar Java mempunyai dua bentuk perwakilan: bentuk nombor perpuluhan, terdiri daripada nombor dan titik perpuluhan, dan mesti ada titik perpuluhan, seperti 0.123, .123, 123., 123.0. 2. Borang tatatanda saintifik. Contohnya: 123e3 atau 123E3, di mana mesti ada nombor sebelum e atau E, dan eksponen selepas e atau E mestilah integer. Pemalar sebenar menduduki 64 bit dalam mesin dan mempunyai nilai berganda. Untuk nilai jenis apungan, tambah f atau F selepas nombor, seperti 12.3F, yang menduduki 32 bit dalam mesin dan mempunyai ketepatan perwakilan yang rendah.
Pembolehubah titik terapung mempunyai dua jenis: terapung dan berganda. float menduduki 32 bit, dan julat nilai ialah 3.4e-038~3.4e+038 manakala double menduduki 64 bit, dan julat nilai ialah 1.7e-308~1.7e+308; Jenis berganda mempunyai ketepatan yang lebih tinggi dan julat perwakilan yang lebih besar daripada jenis apungan, dan biasanya digunakan dalam senario yang memerlukan ketepatan tinggi, seperti pengiraan saintifik.
Di Java, anda boleh menggunakan float dan double untuk menentukan pembolehubah titik terapung. Contohnya: float f; // Tentukan pembolehubah f sebagai jenis apungan double d; // Tentukan pembolehubah d sebagai jenis berganda Tidak seperti C dan C++, Java tidak mempunyai jenis integer yang tidak ditandatangani dan menentukan bilangan bait memori yang diduduki oleh data integer dan titik terapung. Peruntukan ini memastikan keselamatan, keteguhan dan kebebasan platform program Java. Ini bermakna bahawa pelaksanaan Java yang berbeza mempunyai gelagat yang konsisten apabila berurusan dengan data integer dan titik terapung, dan hasilnya boleh diramal tanpa mengira platform yang mereka jalankan.
Operasi bit biasanya digunakan dalam kawalan perkakasan Ungkapan itu sendiri tidak dapat menentukan makna khusus dan perlu digabungkan dengan senario sebenar.
& dipanggil "bitwise AND", dan peraturannya ialah: 0&0=0 1&0=0 0&1=0 1&1=1
"|" dipanggil "bitwise OR", peraturan operasi ialah: 0|0=0 1|0=1 0|1=1 1|1=1
0x7fffff yang dinyatakan dalam binari 32-bit ialah 0000 0000 0111 1111 1111 1111 1111 1111
Mengikut peraturan operasi bitwise AND, 9 bit tinggi dikosongkan kepada sifar.
0x800000 dinyatakan dalam binari 32-bit ialah 0000 0000 1000 0000 0000 0000 0000 0000
Mengikut algoritma bitwise ATAU, bit ke-24 ditetapkan kepada 1.
Untuk meletakkannya dalam perspektif, ((bit & 0x7fffff)|0x800000) bermaksud mengosongkan 9 bit tinggi dahulu, dan kemudian menetapkan bit ke-24 kepada 1.
Kira-kira separuh masa pertama, “
Bagi tanda soal, tidak perlu dijelaskan, bukan?
Nombor titik terapung akan mempunyai ralat selepas operasi, yang merupakan perkara biasa.
berganda a=2.00-1.10;
berganda b=0.90;
System.out.print(a==b);
Hasilnya akan palsu
Jadi kadangkala kaedah digunakan apabila menilai kesamaan nombor titik terapung, dan itu adalah
boolean statik awam adalah Sama(double a,double b){
epsilon berganda akhir=0.00000001;
kembali Math.abs(a-b) } Ringkasnya, ralat akan berlaku selepas nombor titik terapung diproses 0.7799999713897705 ialah ralat yang disebabkan oleh menukar apungan kepada dua kali ganda, dan 0.78 ialah operasi biasa apungan
Atas ialah kandungan terperinci Apakah pemalar titik terapung java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!