Método rotateLeft() inteiro em Java
O deslocamento de bits é um tipo de operação bit a bit que é executada em todos os bits de um valor binário, movendo os bits por um número definido de casas para a esquerda ou direita. Java tem um único operador lógico de deslocamento à esquerda (<<). Quando o valor 0001 (ou seja, 1) é deslocado para a esquerda, ele se torna 0010 (ou seja, 2) que ao deslocar novamente para a esquerda torna-se 0100 ou 4. O mesmo processo é aplicado para a operação de mudança para a direita.
O método java.lang.Integer.rotateLeft() é usado para deslocar os bits de um valor Integer, representado em sua forma complementar binária 2 para a esquerda por um número especificado de bits. (Os bits são deslocados para a esquerda ou ordem superior).
Sintaxe:
public static int rotateLeft(int value, int shifts)
Parâmetros: o método usa dois parâmetros:
- a : É do tipo inteiro e se refere ao valor no qual a operação deve ser realizada.
- deslocamentos : também é do tipo inteiro e se refere à distância de rotação.
Valor de retorno: O método retorna o valor obtido girando a representação binária de complemento de dois do valor int especificado para a esquerda pelo número especificado de bits de deslocamento.
Exemplos:
Input: 12 Output: 24 Explanation: Consider an integer a = 12 Binary Representation = 00001100 After 1 left shift it will become=00011000 So that is= 24
Os programas abaixo ilustram o método java.lang.Integer.rotateLeft().
Programa 1: Para um número positivo.
// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
int a = 2;
int shifts = 0;
while (shifts < 6)
// It will return the value obtained by rotating left
{
a = Integer.rotateLeft(a, 2);
System.out.println(a);
shifts++;
}
}
}
8 32 128 512 2048 8192
Programa 2: Para um número negativo.
// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
int a = -16;
int shifts = 0;
while (shifts < 2)
// It will return the value obtained by rotating left
{
a = Integer.rotateLeft(a, shifts);
System.out.println(a);
shifts++;
}
}
}
-16 -31
Programa 3: Para um valor decimal e string.
Nota: Ele retorna uma mensagem de erro quando um valor decimal e uma string são passados como um argumento
// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
int a = 15.71;
int shifts = 0;
while (shifts < 2)
{
a = Integer.rotateLeft(a, shifts);
System.out.println(a);
shifts++;
}
int b = "61";
int shifts2 = 0;
while (shifts2 < 2)
{
b = Integer.rotateLeft(b, shifts2);
System.out.println(b);
shifts2++;
}
}
}
prog.java:9: erro: tipos incompatíveis: possível conversão com perdas de double para int int a = 15,71; ^ prog.java:18: erro: tipos incompatíveis: String não pode ser convertida para int int b = "61"; ^ 2 erros
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva