lunes, 3 de agosto de 2020

Modelo esteganografico para verificar si una imagen fue alterada

Saludos, en esta oportunidad les comparto el perfil de mi tesis que trata sobre una investigación que trata de determinar si una imagen es alterada mediante el uso de algún programa de edición, la inspiración de este trabajo surge porque se desea eliminar el trabajo y el tiempo que toma hacer un análisis forense de imágenes digitales.

jueves, 31 de enero de 2013

BigInteger JAVA

BigInteger JAVA
la libreria BigInteger de JAVA nos permite procesar numero grandes con sus propios métodos

debemos importar la libreria:

import java.math.BigInteger;

para crear un objeto BigInteger necesitamos colocar:

BigInteger A = new BigInteger("1");   

podemos mandar de argumentos numeros grandes como cadenas o datos de tipo Long, o simplemente leer desde teclado

import java.util.Scanner; //importamos la libreria Scanner

Scanner leer = new Scanner(System.in);

BigInteger A=leer.nextBigInteger();

sumando numeros grandes:
BigInteger I=new BigInteger("10542516131213232");
A=A.add(I);

restando numeros grandes:

BigInteger I=new BigInteger("10542516131213232");
A=A.subtract(I);

multiplicando numeros grandes:

BigInteger I=new BigInteger("10542516131213232");
A=A.multiply(I);

division:

BigInteger I=new BigInteger("10542516131213232");
A=A.divide(I);

modulo:

BigInteger I=new BigInteger("10542516131213232");
A=A.mod(I);

 operaciones con bits:

BigInteger I=new BigInteger("10542516131213232");
A=A.xor(I);  
A=A.and(I);
A=A.or(I);

y asi se declara un arreglo unidimensional de objetos BigInteger

BigInteger Arreglo [] = new BigInteger[10001];


ahora resolvemos un problema de UVa:

500! UVa Online Judge




import java.math.BigInteger;
import java.util.Scanner;

public class Main {

    static BigInteger factorial[] = new BigInteger[10001];

    public static void main(String[] args) {
        factorial[0] = new BigInteger("1");
        factorial[1] = new BigInteger("1");
        llenar(factorial);
        Scanner lee = new Scanner(System.in);
        while (lee.hasNextInt()) {
            int n = lee.nextInt();
            System.out.println(n+"!");
            System.out.println(factorial[n]);
        }
    }

    public static void llenar(BigInteger fibo[]) {
        BigInteger A=new BigInteger("2");
        BigInteger I=new BigInteger("1");
       
        for (int i = 2; i <= 10000; i++) {
            fibo[i] =  fibo[i-1].multiply(A);
            A=A.add(I);
           
        }
    }

}