FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.
Email: Нажмите что бы посмотреть
Прямой код:
78 = 10011102
– 78 = –10011102
≥ 0
< 0
операции с положительными и отрицательными числами выполняются по-разному!
1111 1111
+ 0000 0001
1 0000 0000
-1 → 255
1
256
Для 8-битных чисел: код числа «–X» равен двоичному коду числа 256 – X (дополнение до 256).
Алгоритм А1:
перевести число X в двоичную систему счисления;
построить обратный код, выполнив инверсию всех битов (заменить 0 на 1 и наоборот);
к результату добавить 1.
78 = 010011102
10110001
-78 → 10110010
← инверсия
+1
← инверсия
Алгоритм А3:
перевести число X в двоичную систему счисления;
выполнить инверсию всех старших битов числа, кроме младшей единицы и нулей после нее.
78 = 010011102
-78 → 10110010
-78 → 10110010
← инверсия
положение
запятой
цифры числа
1,2345·10-14
1,2345·1017
Экономный вариант (целая часть от 1 до B):
основание системы счисления
0,0012345 = 1,2345·10-3
12,345 = 1,2345·101
повышение точности при конечном числе разрядов
Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z < B, где B – основание системы счисления (стандарт IEEE 754).
порядок со
смещением
знак
p = 4 + 127 = 131 = 100000112
С
1
8
A
0
0
0
0
для single
порядок со смещением был придуман, чтобы избавиться от хранения знака порядка
Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z < B, где B – основание системы счисления (стандарт IEEE 754).
double z = 5;
Целое 5 при присваивании будет преобразовано в double
int x = 3 / 1.5; //НЕВЕРНО!
не скомпилируется, нужно приводить типы явно:
int x = (int)(3 / 1.5);
Правильно возвести 100 миллионов в квадрат можно так:
int x = 100 * 1000 * 1000;
out.println((long)x * x);
Достаточно при этом привести к типу long один из множителей.
(255, 150, 150)
(100, 0, 0)
256·256·256 = 16 777 216 (True Color, «истинный цвет»)
Задание 1
Создайте файл colors.xml в подкаталоге /res/values
и переключитесь к текстовому виду
Цвет фона Ссылка на ресурс в собственном пакете Запустите приложение на планшете
android:layout_width="match_parent"
android:gravity="top"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/yellow" />
Float f = new Float("124.32432");
int intBits = Float.floatToIntBits(f);
String binary = Integer.toBinaryString(intBits);
out.println("Binary = " + binary);
4) Используя следующие закономерности:
int sign = intBits & 0x80000000;
int exponent = intBits & 0x7f800000;
int mantissa = intBits & 0x007fffff;
Посмотрите как представлена порядок и мантисса в памяти компьютера для любого числа
5) Исправьте программу так, чтобы она отображала тип Double в двоичном виде