Бляди тоже ок, ага. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6941
прекрасное6442
говно5903
говнорашка5512
хуита4706
anime3064
linux2649
music2633
bnw2597
рашка2565
log2352
ололо2151
pic1815
дунч1808
сталирасты1491
украина1439
быдло1436
bnw_ppl1409
дыбр1238
гімно1158

В Java 8 нет unsigned int но зато работать с int можно так так, будто это unsigned int.
Стандартный тип int может принимать значения от -2<sup>31</sup> до 2<sup>31</sup>-1.
При выходе за границы значений не выбрасываются исключения, но может возникнуть ошибка в вычислении.
Поэтому, если мы хотим работать с int как с unsigned int, мы можем продолжать использовать все те же операции с числами, и у нас не будет ошибки вычисления, если число не выходит за границы диапазона от 0 до 2<sup>32</sup>-1.

Для формирования строки, содержащей значение unsigned int, необходимо использовать статический метод Integer.toUnsignedString(int i). Также, можно использовать метод Integer.toUnsignedLong(int i) для получения правильного числа типа long.

Для того, чтобы получить unsigned int из строки содержащей число в диапазоне 0 до 2<sup>32</sup>-1 необходимо использовать статический метод Indeger.parseUnsignedInt(String s). Методы Integer.toUnsignedString(int i) и Indeger.parseUnsignedInt(String s) обращают друг друга.

Приведенный ниже код демонстрирует эти возможности.
```java
public class App {
public static void main(String[] args) {
System.out.println("== Defining and evaluating ints ==");
int i1 = 0x00;
int i2 = 0x7F_FF_FF_FF;
int i3 = 0x80_00_00_00;
int i4 = 0xFF_FF_FF_FF;
int i5 = i3 + 1;
System.out.println("i1: s " + i1 + " u " + Integer.toUnsignedString(i1));
System.out.println("i2: s " + i2 + " u " + Integer.toUnsignedString(i2));
System.out.println("i3: s " + i3 + " u " + Integer.toUnsignedString(i3));
System.out.println("i4: s " + i4 + " u " + Integer.toUnsignedString(i4));
System.out.println("i5: s " + i5 + " u " + Integer.toUnsignedString(i5));

    System.out.println("== Parsing ints ==");
    int i6 = Integer.parseUnsignedInt("0");
    int i7 = Integer.parseUnsignedInt("2147483647");
    int i8 = Integer.parseUnsignedInt("2147483648");
    int i9 = Integer.parseUnsignedInt("4294967295");
    System.out.println("i6: s " + i6 +  " u " + Integer.toUnsignedString(i6));
    System.out.println("i7: s " + i7 +  " u " + Integer.toUnsignedString(i7));
    System.out.println("i8: s " + i8 +  " u " + Integer.toUnsignedString(i8));
    System.out.println("i9: s " + i9 +  " u " + Integer.toUnsignedString(i9));

    System.out.println("== Comparing ints ==");
    boolean s12 = i1 > i2;
    boolean u12 = Integer.compareUnsigned(i1, i2) > 0;
    boolean s23 = i2 > i3;
    boolean u23 = Integer.compareUnsigned(i2, i3) > 0;
    boolean s34 = i3 > i4;
    boolean u34 = Integer.compareUnsigned(i3, i4) > 0;
    System.out.println("i1 > i2: signed: " + s12 + " unsigned: " + u12);
    System.out.println("i2 > i3: signed: " + s23 + " unsigned: " + u23);
    System.out.println("i3 > i4: signed: " + s34 + " unsigned: " + u34);
}

}

Полученный результат:

== Defining and evaluating ints ==
i1: s 0 u 0
i2: s 2147483647 u 2147483647
i3: s -2147483648 u 2147483648
i4: s -1 u 4294967295
i5: s -2147483647 u 2147483649
== Parsing ints ==
i6: s 0 u 0
i7: s 2147483647 u 2147483647
i8: s -2147483648 u 2147483648
i9: s -1 u 4294967295
== Comparing ints ==
i1 > i2: signed: false unsigned: false
i2 > i3: signed: true unsigned: false
i3 > i4: signed: false unsigned: false
```
Этот пост покрывает только часть особенностей Integer, полное описание смотри здесь: https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html

#STAG65 (23) / @hdghg / 3178 дней назад

котаны, нам на bnw нужно не только рецомменд, но и фейворитс, давайте запилим.

#PU596M (9) / @partizan / 3724 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.