Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Основы программирования. Представление данных в памяти

Содержание

JAVA. ЦЕЛОЧИСЛЕННЫЕ ТИПЫ 1111 1111 + 0000 0001 1 0000 0000Все целочисленные типы Java хранят числа в дополнительном коде!
IT ШКОЛА SAMSUNGМодуль 1. Основы программированияУрок 5-6. Представление данных в памяти JAVA. ЦЕЛОЧИСЛЕННЫЕ ТИПЫ  1111 1111 + 0000 0001 1 0000 0000Все JAVA. ПРЕДСТАВЛЕНИЕ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛСтарший (знаковый) бит числа определяет его знак. Если он JAVA. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМИдея: «– 1» должно быть представлено так, чтобы JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОДАлгоритм А0: перевести число 2K – X в JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОДАлгоритм А2: перевести число X-1 в двоичную систему JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛС фиксированной запятой (в первых ЭВМ):для больших и маленьких JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛТеоретически оптимальный вариант (целая часть = 0):0,0012345 = 0,12345·10-212,345 JAVA. НОРМАЛИЗАЦИЯПример:17,25 = 10001,012 = 1,0001012·245,375 =7,625 =27,875 =13,5 =0,125 =всегда 1, JAVA. ЧИСЛО ОБЫЧНОЙ ТОЧНОСТИ (SINGLE)-17,25 = -10001,012 = -1,0001012·24single: 4 байта = JAVA. НОРМАЛИЗАЦИЯПример:17,25 = 10001,012 = 1,0001012·245,375 =7,625 =27,875 =13,5 =0,125 =всегда 1, ПРИМЕРПредставим число -25,625 в машинном виде с использованием 4 байтового представления (где1 JAVA. ДИАПАЗОН ВЕЩЕСТВЕННЫХ ЧИСЕЛExtended – тип для вычислений в сопроцессоре, единица в JAVA. ПРИВЕДЕНИЕ ПРИМИТИВНЫХ ТИПОВЕсли в выражении участвуют операнды разных типов, происходит их ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информация(0, 0, 0)(255, 255, 255)(255, 0, ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информацияПрограммисты чаще пользуются шестнадцатеричной системой счисления!(255, 255, 0) → #FFFF00 ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММОформление программ хранится в разделе ресурсов и помещается в ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММОбычно для цветовых ресурсов используют файл colors.xml в подкаталоге ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММДля работы с цветом используется тег , а цвет ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИОткройте файл разметки основной активности res ⇒ layout ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИМожете попробовать добавить различным элементам разметки кроме android:backgroundсвойства САМОСТОЯТЕЛЬНАЯ РАБОТАЗадайте фону приложения фиолетовый цвет Задайте желтый цвет текстаВ приложении TestBed Домашнее задание Повторить занятия 1,2,3 по материалам уроков в дистанционной системе обученияIT Спасибо! В презентации использованы материалы К. Поляковаhttp://kpolyakov.spb.ru/
Слайды презентации

Слайд 2 JAVA. ЦЕЛОЧИСЛЕННЫЕ ТИПЫ

1111 1111
+ 0000

JAVA. ЦЕЛОЧИСЛЕННЫЕ ТИПЫ 1111 1111 + 0000 0001 1 0000 0000Все

0001

1 0000 0000
Все целочисленные типы Java хранят числа

в дополнительном коде!

Слайд 3 JAVA. ПРЕДСТАВЛЕНИЕ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ
Старший (знаковый) бит числа определяет

JAVA. ПРЕДСТАВЛЕНИЕ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛСтарший (знаковый) бит числа определяет его знак. Если

его знак. Если он равен 0, число положительное, если

1, то отрицательное.

Прямой код:

78 = 10011102

– 78 = –10011102

≥ 0

< 0

операции с положительными и отрицательными числами выполняются по-разному!


Слайд 4 JAVA. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Идея: «– 1» должно

JAVA. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМИдея: «– 1» должно быть представлено так,

быть представлено так, чтобы при сложении с числом «1»

получить 0.


1111 1111
+ 0000 0001


1 0000 0000

-1 → 255
1
256

Для 8-битных чисел: код числа «–X» равен двоичному коду числа 256 – X (дополнение до 256).


Слайд 5 JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОД

Алгоритм А0: перевести число

JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОДАлгоритм А0: перевести число 2K – X

2K – X в двоичную систему счисления.
для вычислений требуется

K+1 разряд

Алгоритм А1:
перевести число X в двоичную систему счисления;
построить обратный код, выполнив инверсию всех битов (заменить 0 на 1 и наоборот);
к результату добавить 1.

78 = 010011102

10110001

-78 → 10110010

← инверсия

+1


Слайд 6 JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОД
Алгоритм А2:
перевести число

JAVA. КАК ПОСТРОИТЬ ДОПОЛНИТЕЛЬНЫЙ КОДАлгоритм А2: перевести число X-1 в двоичную

X-1 в двоичную систему счисления;
выполнить инверсию всех битов.
78 -

1 = 77 = 010011012


← инверсия

Алгоритм А3:
перевести число X в двоичную систему счисления;
выполнить инверсию всех старших битов числа, кроме младшей единицы и нулей после нее.

78 = 010011102

-78 → 10110010

-78 → 10110010

← инверсия


Слайд 7 JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛ
С фиксированной запятой (в первых

JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛС фиксированной запятой (в первых ЭВМ):для больших и

ЭВМ):
для больших и маленьких чисел нужно масштабирование
0,000000000000012345
123450000000000000,0
С плавающей запятой

(автоматическое масштабирование):

положение
запятой

цифры числа


1,2345·10-14

1,2345·1017




Слайд 8 JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛ
Теоретически оптимальный вариант (целая часть

JAVA. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛТеоретически оптимальный вариант (целая часть = 0):0,0012345 =

= 0):
0,0012345 = 0,12345·10-2
12,345 = 0,12345·102
всегда 0
один разряд расходуется

впустую!

Экономный вариант (целая часть от 1 до B):

основание системы счисления

0,0012345 = 1,2345·10-3

12,345 = 1,2345·101

повышение точности при конечном числе разрядов


Слайд 9 JAVA. НОРМАЛИЗАЦИЯ

Пример:
17,25 = 10001,012 = 1,0001012·24
5,375 =
7,625 =
27,875

JAVA. НОРМАЛИЗАЦИЯПример:17,25 = 10001,012 = 1,0001012·245,375 =7,625 =27,875 =13,5 =0,125 =всегда

=
13,5 =
0,125 =
всегда 1, её можно не хранить в

памяти!

Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z < B, где B – основание системы счисления (стандарт IEEE 754).


Слайд 10 JAVA. ЧИСЛО ОБЫЧНОЙ ТОЧНОСТИ (SINGLE)


-17,25 = -10001,012 =

JAVA. ЧИСЛО ОБЫЧНОЙ ТОЧНОСТИ (SINGLE)-17,25 = -10001,012 = -1,0001012·24single: 4 байта

-1,0001012·24
single: 4 байта = 32 бита


мантисса = дробная часть

Z

порядок со смещением

знак

p = 4 + 127 = 131 = 100000112





С

1

8

A

0

0

0

0


для single

порядок со смещением был придуман, чтобы избавиться от хранения знака порядка


Слайд 11 JAVA. НОРМАЛИЗАЦИЯ

Пример:
17,25 = 10001,012 = 1,0001012·24
5,375 =
7,625 =
27,875

JAVA. НОРМАЛИЗАЦИЯПример:17,25 = 10001,012 = 1,0001012·245,375 =7,625 =27,875 =13,5 =0,125 =всегда

=
13,5 =
0,125 =
всегда 1, её можно не хранить в

памяти!

Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z < B, где B – основание системы счисления (стандарт IEEE 754).


Слайд 12 ПРИМЕР
Представим число -25,625 в машинном виде с использованием

ПРИМЕРПредставим число -25,625 в машинном виде с использованием 4 байтового представления

4 байтового представления (где
1 бит отводится под знак числа,

8 бит - под смещённый порядок, остальные биты - под мантиссу).

1. 2510=1000112 0,62510=0,1012-25,62510= -100011,1012

2. -100011,1012= -1,000111012 * 24

3. СП = 127 + 4 = 131 = 1000011

4. Результат:

Слайд 13 JAVA. ДИАПАЗОН ВЕЩЕСТВЕННЫХ ЧИСЕЛ
Extended – тип для вычислений

JAVA. ДИАПАЗОН ВЕЩЕСТВЕННЫХ ЧИСЕЛExtended – тип для вычислений в сопроцессоре, единица

в сопроцессоре, единица в значащей части не скрывается.
Single, double

– только для хранения.

Слайд 14 JAVA. ПРИВЕДЕНИЕ ПРИМИТИВНЫХ ТИПОВ
Если в выражении участвуют операнды

JAVA. ПРИВЕДЕНИЕ ПРИМИТИВНЫХ ТИПОВЕсли в выражении участвуют операнды разных типов, происходит

разных типов, происходит их приведение.
Приведение в большую сторону

происходит автоматически, в меньшую нужно делать вручную!

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 один из множителей.


Слайд 15 ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информация
(0, 0,

ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информация(0, 0, 0)(255, 255, 255)(255,

0)
(255, 255, 255)
(255, 0, 0)
(0, 255, 0)
(255, 255, 0)
(0,

0, 255)

(255, 150, 150)

(100, 0, 0)









256·256·256 = 16 777 216 (True Color, «истинный цвет»)


Слайд 16 ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информация
Программисты чаще

ПРАКТИКА – СИСТЕМЫ СЧИСЛЕНИЯ – графическая информацияПрограммисты чаще пользуются шестнадцатеричной системой счисления!(255, 255, 0) → #FFFF00

пользуются шестнадцатеричной системой счисления!
(255, 255, 0) → #FFFF00


Слайд 17 ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММ
Оформление программ хранится в разделе

ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММОформление программ хранится в разделе ресурсов и помещается

ресурсов и помещается в XML-файл
Идея проста: не указывать в

программе конкретный цвет или размер, а описать его в файле ресурсов, присвоив ему идентификатор, а дальше использовать именно этот идентификатор (ID). Это дает возможность изменять внешний вид программы без изменения программного кода. Обычно для цветовых ресурсов используют файл colors.xml в подкаталоге /res/values.

Слайд 18 ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММ
Обычно для цветовых ресурсов используют

ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММОбычно для цветовых ресурсов используют файл colors.xml в

файл colors.xml в подкаталоге /res/values. Но можно использовать любое

произвольное имя файла, или даже вставить их в файл вместе со строковыми ресурсами strings.xml.

Задание 1
Создайте файл colors.xml в подкаталоге /res/values
и переключитесь к текстовому виду




Слайд 19 ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММ
Для работы с цветом используется

ПРАКТИКА. ОФОРМЛЕНИЕ АНДРОИД ПРОГРАММДля работы с цветом используется тег , а

тег , а цвет указывается в специальных значениях.
#RGB;
#RRGGBB;
#ARGB;
#AARRGGBB;
A –

это альфа-канал величина обратная прозрачности. То есть цвет #4000FF00 это почти прозрачный зеленый.
Определенные таким образом цвета можно использовать в других частях кода и xml-файлах


Задание 2
Напишите в файле colors.xml



#f00
#FFFF00
#4000FF00


Слайд 20 ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИ
Откройте файл разметки основной

ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИОткройте файл разметки основной активности res ⇒

активности res ⇒ layout ⇒ activity_main.xml (там описываются элементы

главного окна приложения), переключитесь к текстовому виду (вкладка внизу activity_main.xml)
LinearLayout – все окно, EditText – поле ввода, TextView – основное поле вывода и
Button – кнопка закрытия, которая возникает после окончания работы запущенной консольной программы.

Задание 3 задайте цвет основному полю ввода consoleWrite

android:id="@+id/consoleWrite"
android:layout_width="match_parent"
android:gravity="top"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/yellow" />

Цвет фона

Ссылка на ресурс в собственном пакете

Запустите приложение на планшете


Слайд 21 ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИ
Можете попробовать добавить различным

ПРАКТИКА. ФАЙЛ РАЗМЕТКИ ОСНОВНОЙ АКТИВНОСТИМожете попробовать добавить различным элементам разметки кроме

элементам разметки кроме android:background
свойства
android:textColor и
android:TextColorHint (это свойство

применяется, когда в поле ввода еще нет текста пользователя и там отображается подсказка).

Разные элементы поддерживают разные свойства, надо уточнять по документации.

Также существуют предопределенные названия цветов. Такие ID доступны в пространстве имен android.R.соlor.
Посмотреть цветовые значения цветов можно в документации
http://developer.android.com/reference/android/R.color.html

Для ссылки на системный ресурс мы должны, например, записать: android:textСolor="@android:color/black"

Слайд 22 САМОСТОЯТЕЛЬНАЯ РАБОТА
Задайте фону приложения фиолетовый цвет
Задайте желтый

САМОСТОЯТЕЛЬНАЯ РАБОТАЗадайте фону приложения фиолетовый цвет Задайте желтый цвет текстаВ приложении

цвет текста
В приложении TestBed вставьте фрагмент кода, посмотрите на

результат

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 в двоичном виде


Слайд 23 Домашнее задание


Повторить занятия 1,2,3 по материалам уроков

Домашнее задание Повторить занятия 1,2,3 по материалам уроков в дистанционной системе

в дистанционной системе обучения

IT ШКОЛА SAMSUNG / Модуль 1. Основы программирования

(Java) /
/Учебные материалы 1.1-1.3


  • Имя файла: osnovy-programmirovaniya-predstavlenie-dannyh-v-pamyati.pptx
  • Количество просмотров: 131
  • Количество скачиваний: 0