mam problem z programem który konwertuje liczby dec na bin ZM.
package javaLab;
import java.util.Scanner;
public class zad12 {
void convertDecToBin(long n ) {
int[] tab = new int[32];
long index = 2147483648l;
for (int i = 31 ; i >= 0 ; --i){
if (i == 31 && n > 0) {
System.out.println("+");
System.out.println("+ index" + index);
System.out.println("+ i"+ i);
tab[31] = 0;
}
else if (i == 31 && n < 0) {
System.out.println("- index" + index);
System.out.println("- i"+ i);
tab[31] = 1;
System.out.println(tab[31]);
n = n * -1;
}
else if (n > index) {
System.out.println("if >");
System.out.println("if > index" + index);
System.out.println("if > i"+ i);
System.out.println("if > n"+ n);
tab[i] = 1;
n = n - index;
index = index / 2;
System.out.println("-----n"+ n);
System.out.println("=============================");
}
else if (n < index){
System.out.println("else <");
System.out.println("else < index" + index);
System.out.println("else < i " + i);
System.out.println("else < n " + n);
tab[i] = 0;
index = index / 2;
System.out.println("=============================");
}
else if (n == index) {
System.out.println("else ==");
System.out.println("else == index" + index);
System.out.println("else == i" +i );
System.out.println("else == n " + n);
tab[i] = 1;
n = n - index;
index = index /2;
System.out.println("-----n"+ n);
System.out.println("=============================");
}
}
for (int i = 32 ; i >= 1 ; --i) {
int b = i%4;
if ( b == 0) {
System.out.print("|");
}
System.out.print(tab[i-1]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
long number;
Scanner reading = new Scanner(System.in);
number = reading.nextInt();
zad12 systemZM = new zad12();
systemZM.convertDecToBin(number);
}
}
I mam takie pytanie bo problem polega na index tam ma odpowiednie wagi i moje pytanie jest takie czy int tam gdzie jest miejsce znaku też ma wage a dokładnie 2147483648 czy tam nie ma wag? Wydaje mi się że tam powinna być waga.