Главная
Вход
Регистрация
Пятница, 03 Май 2024, 23:41:53 Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Общедоступные статьи [17]

Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Общедоступные статьи

0003_05 - Беззнаковые целые числа в машинном представлении

Десятичная система счисления

Привычная для повседневной жизни система. Основание системы равно 10, т.е. содержит набор из 10 цифр - от 0 до 9
Если в Java записано число, то оно записано в 10-чной системе счисления.

ПРАВИЛО ПЕРЕВОДА ИЗ 10-чной СИСТЕМЫ В ЛЮБУЮ ДРУГУЮ
Для того, что бы перевести число из десятичной системы счисления в любую другую надо делить число на основание системы счисления до тех пор, пока частное от деления не будет меньше основания системы счисления, при этом необходимо фиксировать все остатки от деления. Затем надо записать частное от деления и все остатки, начиная с последнего в обратной последовательности. Т.о. получится:  частное - старший разряд, а самый первый остаток - младший разряд.

Для перевода из 10-чной системы в любую другую неплохо было бы использовать софтину. Давайте напишем её:

ПРАВИЛО ПЕРЕВОДА ИЗ ЛЮБОЙ СИСТЕМЫ В 10-чную

Для примера:

Восьмеричная система счисления

Система счисления с основанием 8, т.е. набором цифр от 0 до 7. Применяется 8-чная система в Java, в основном, для использования символов Unicode.

\u00 ... \u077777 (от 0 до 32 767)

Шестнадцатиричная система счисления

Система счисления с основанием 16, т.е. набором цифр от 0 до F:
Цифра A соотносится с 10-чным числом 10
Цифра B соотносится с 10-чным числом 11
Цифра C соотносится с 10-чным числом 12
Цифра D соотносится с 10-чным числом 13
Цифра E соотносится с 10-чным числом 14
Цифра F соотносится с 10-чным числом 15

Широко применяется в программировании. К примеру, через неё очень удобно выражать коды ошибок, адреса в памяти и число цвета по стандарту #RGB:
0x000000 - чёрный цвет
0xFFFFFF - белый цвет
0xFF0000 - красный цвет
0x00FF00 - зелёный цвет
0x0000FF - синий цвет
0x777777 - серый цвет

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

Внутрикомпьютерная система счисления. Для полноценного программирования на Java, важно понимать её и её особенности. Начнём с простого, постепенно усложняя.

Цифры в двоичной системе счисления называются битами.
Биты характеризуют:
0 - пусто / нет сигнала / есть напряжение
1 - заполнено / есть сигнал / нет напряжения

Двоичное число состоит только из 0 и 1. Самый первый бит называется старшим и имеет наибольший порядковый номер, а последний бит - младшим и имеет порядковый номер 0.

Двоичное представление целого беззнакового числа (тип char)

Как Вы уже знаете, тип char в Java имеет диапазон значений от 0 до 32 767. Если перевести число 32 767 в двоичную систему счисления, то получим 15-разрядное двоичное число из единиц.

Но стоп! В описании типа сказано, что типу отводится 16 бит (2 байта), а не 15. Куда делся ещё один разряд?

Всё очень просто. В машинном представлении самый старший бит (в данном случае 16-ый) - это знаковый бит, в котором 1 соответствует минусу, а 0 - плюсу. Но так как, тип char беззнаковый, то для него 16-ый бит просто зарезервирован и не используется, хотя и присутствует. Т.е. в нём всегда 0, т.к. значения у этого типа должны быть только положительные.
MIN: 0 000 0000 0000 0000
MAX: 0 111 1111 1111 1111

Все операции с двоичными числами на машинном уровне сводятся к циклам поразрядных сдвигов и поразрядной инверсии.

К примеру, сложим 2 числа (несколько примеров):

Операция вычитания целого беззнакового числа на машинном уровне сводится к следующему (несколько примеров):

Вообще же, в полном цикле вычисления это происходит так:

До встречи в следующем уроке

Категория: Общедоступные статьи | Добавил: FireSnake (12 Дек 2015)
Просмотров: 985 | Комментарии: 1 | Теги: BIN, целое, dec, беззнаковое, счисления, Integer, системы, Hex, oct, ungigned | Рейтинг: 5.0/1
Всего комментариев: 1
avatar
2
1 FireSnake • 11:57:41, 12 Дек 2015
Бонус!!! Код программы для копи-паста.


Доступно только для пользователей
avatar
Вход на сайт

Поиск

Группа VK