Username:

Password:

Pages: [1]
  Print  
Author Topic: Menguruskan Nombor Integer Yang Sangat Besar  (Read 193 times)
j33h4d
ngah busy exam sampai 24 Mac 10 =|
Administrator
Freshie
*
Posts: 21



View Profile WWW Email
« on: March 05, 2010, 03:56:12 pm »

Kebiasaannya, jarang kita berurusan dengan nombor-nombor besar. Jika ada pun, nombor tersebut masih boleh di tampung dengan menggunakan datatype long. Namun begitu pada hujung tahun 2008, aku sibuk membuat kajian mengenai Steganography. Pendek cerita, aku menukarkan sebuah imej kepada nombor binari dan ingin membuat sedikit kiraan pada nombor binari tersebut. Bagi imej yang berukuran 100x100; imej tersebut mempunyai 10000 pixel, di mana aku akan mendapat 80000 digit nombor binari. Aku bercadang untuk membuat kiraan pada kesemua nombor tersebut dan di sini lah masalah tersebut timbul.

Datatype long tidak mampu untuk menampung 80000 digit. Selepas membuat sedikit carian melalui Google, aku terjumpa penyelesaian bagi masalah tersebut dengan menggunakan Java API. Rupa-rupanya, dalam java.math.*, korang boleh menyelesaikan masalah tersebut dengan menggunakan BigInteger.

Berikut merupakan contoh bagi mengaplikasi penggunaan java.math.BigInteger:

Kod Sumber

Code:
import java.math.BigInteger;

class NomborBesar{
  public static void main(String[] args){
    BigInteger x = new BigInteger("3333333333333333333333333333333333333333333333333333333333333333333333333333333333");
    BigInteger y = new BigInteger("2222222222222222222222222222222222222222222222222222222222222222222222222222222222");
    
    System.out.println(x.add(y));
    System.out.println(x.subtract(y));
    System.out.println(x.multiply(y));
    System.out.println(x.divide(y));
  }
}

Class BigInteger bukannya terhad kepada kiraan mudah sahaja. Korang juga boleh menggunakannya untuk memeriksa sama ada sesuatu nombor besar itu merupakan nombor perdana ataupun tidak. Selain daripada itu, korang juga boleh membandingkan 2 nombor besar. Untuk maklumat lanjut mengenai penggunaan class BigInteger, korang boleh rujuk webpage ini: http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html
Logged

"programming is all about the arrangement of codes" ~ Fikri Fadzil
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Installed by Installatron

DarkBreak by DzinerStudio