Кто-нибудь пробовал открыть много-много уровней ВС?

MIP-ZmeY

Император
А что такого особенного в 15-й степени?
Если Вы в 7-ом классе и/или на 1-ом курсе института/университета прогуляли урок информатики то я не знаю как Вам еще объяснить...
Однако попробую:)

Эти хоть кратны 10 (то есть называются порядком)
Кратность числу 10 (называемая порядком) к самим степеням уже не применяется!
Степень - это количество порядков одного размера (в нашем случае имеем кратность числу 2)

10 понятно - 1 килобайт = 2 в 10 степени байт, 1 мегабайт - 2 в 10 килобайт и так далее
Указанные примеры вообще не об этом
Вы привели градацию измерения объёма информации...
Но в компьютерах разная по типу информация хранится определёнными минимальными элементами - группами байтов.

Например число можно хранить как 1 байт, как 2 и даже как 4; и каждый из них имеет свои диапазоны измерения хранимого числа.
У нас идёт рассуждение о числах хранимых в памяти как 2 байта... 2 байта это 16 бит...
Вот они и получаем 15-ую степень: 16 бит (размер двух байт) - 1 бит (знак числа) = 15 бит
И максимальное положительное целое число которое можно записать в 2 байта равно 32768 (2^15).
 
Последнее редактирование:
А 15 то тут причем? 10 понятно - 1 килобайт = 2 в 10 степени байт, 1 мегабайт - 2 в 10 килобайт и так далее
В том, как вы ставите вопрос - не при чём.
Теомах объяснил, откуда берётся 32767 - это максимальное целое со знаком для 16-разрядной архитектуры.
Если (при 16-разрядной архитектуре и представлении целых со знаком) к числу 32767 прибавить 1 - произойдёт переполнение, и получится число, равное -32768.
Но в тех случаях, когда используемое число не может быть отрицательным (например, у вас не может быть -5 чертежей) - используется беззнаковое представление числа. Тогда при той же 16-разрядной архитектуре максимальное целое число - 65535. Если к нему прибавить 1 - произойдёт переполнение и в результате получится 0.

Поэтому при программировании - если предполагается работа с числами на границах разрядности - обязательно учитывается разрядность архитектуры, и предпринимаются специальные действия, чтобы не возникали ошибки переполнения.

10 понятно - 1 килобайт = 2 в 10 степени байт, 1 мегабайт - 2 в 10 килобайт и так далее
В двоичной системе "круглыми" являются 2^8 (256) и 2^16 (65536), но никак не 2^10 (1024).

В подавляющем большинстве современных компьютеров байт восьмибитный.
Я даже больше скажу: байт - он всегда 8-битный. Других не бывает :)

максимальное положительное целое число которое можно записать в 2 байта равно 32768 (2^15).
Вы допустили ошибку, позволительную обычным людям, но непростительную для программистов.
Максимальное положительное (т.е. со знаком) целое число в 16 разрядах - это 2^15-1 - 32767.
А для хранения 2^15 нужно 16 разрядов. Стыдно этого не знать, если вы называете себя программистом.

8 разрядов (1 байт) - от 0 до 255 (беззнаковые) или от -128 до +127 (со знаком)
16 разрядов (2 байта) - от 0 до 65535 (беззнаковые) или от -32768 до +32767 (со знаком)
32 разряда (4 байта) - от 0 до 4294967295 (беззнаковые) или от -2147483648 до +2147483647 (со знаком)
 
Последнее редактирование:

Manthatyoufear

Маркиз
Айтишники на выходных.. :rolleyes:
посоны, я бы с ним не спорил!
он тот еще цинник!
 

Теомах

Аккаунт заблокирован
Аккаунт заблокирован
И? А стена - это один из ограничителей пространства, а загс - это государственное учреждение.
Продолжить перечисление не связанных вещей?
Чуть выше я объяснил, почему в двухбайтовой ячейке памяти можно хранить ровно 2^16 различных чисел (не одновременно, а одно из них на выбор).
Может, Вы просто перечитаете? Как-то лень писать второй-третий раз для тех, кто не удосужился внимательно прочитать первый.

Я даже больше скажу: байт - он всегда 8-битный. Других не бывает :)
Ну в школах так объясняют обычно, да.
А вообще байт - это минимальная адресуемая ячейка памяти. История знает компьютеры с шести-, семи- и девятибитными байтами.
 

Теомах

Аккаунт заблокирован
Аккаунт заблокирован
Змей удалил, но я успел заскринить воинствующее невежество )))
1587194992758.png
 

MIP-ZmeY

Император
Не "положительное число", а "записывается с тем же старшим битом".
Нет именно переводится из битов в десятичное число по правилам положительных чисел
Следовательно условно положительное
1587195307788.png
 

Теомах

Аккаунт заблокирован
Аккаунт заблокирован
Нет именно переводится из битов в десятичное число по правилам положительных чисел
Следовательно условно положительное
*facepalm*
Правила одни и те же. Каждый бит умножается на двойку в степени своего номера (номера идут с нуля справа). После этого все полученные значения складываются, и только полученное у старшего бита вычитается.
У нуля и у положительных чисел старший бит 0. У отрицательных чисел старший бит 1. Это не дает права называть 0 положительным или условно положительным числом. "Положительные" - это по определению числа, большие нуля. Для "положительные и 0 вместе" есть термин "неотрицательные".
 

MIP-ZmeY

Император
Правила одни и те же.
Не знаю что Вы там сразу собираетесь складывать, если отрицательные числа хранятся в дополнительном коде.
И для преобразования из двоичной формы в десятичную нужно сначала проделать определённые преобразования!

Зато данный способ позволяет производить операции сложения/вычитания с числами разных знаков сразу не занимаюсь кучей проверок и преобразований:)
 

Теомах

Аккаунт заблокирован
Аккаунт заблокирован
Не знаю что Вы там сразу собираетесь складывать, если отрицательные числа хранятся в дополнительном коде.
И для преобразования из двоичной формы в десятичную нужно сначала проделать определённые преобразования!

Зато данный способ позволяет производить операции сложения/вычитания с числами разных знаков сразу не занимаюсь кучей проверок и преобразований:)
Вот я Вам дал способ переводить из двоичной формы в десятичную числа в дополнительном коде, работающий со всеми целыми числами. А Вы, как обычно, начали невежественно возражать.
 

MIP-ZmeY

Император
Стыдно этого не знать, если вы называете себя программистом.
А давно опечатки приравнивают к незнанию?
За поправку спасибо.

Про не 8-битные байты был не в курсе.
На курсовой проект в семестре перед дипломным собирали 5-ти битные МК.
 

Теомах

Аккаунт заблокирован
Аккаунт заблокирован
А давно опечатки приравнивают к незнанию?
За поправку спасибо.
А давно ли называют опечаткой то, что еще и пробовали отстаивать в другом сообщении, обвиняя в незнании собеседника? Пост-то Вы удалили, но скрины-то есть.
 

DeletedUser28487

Guest
Зашёл я значит про макс. уровень почитать ...
 

DeletedUser27282

Guest
Чуть выше я объяснил, почему в двухбайтовой ячейке памяти можно хранить ровно 2^16 различных чисел (не одновременно, а одно из них на выбор).
Может, Вы просто перечитаете? Как-то лень писать второй-третий раз для тех, кто не удосужился внимательно прочитать первый.


Ну в школах так объясняют обычно, да.
А вообще байт - это минимальная адресуемая ячейка памяти. История знает компьютеры с шести-, семи- и девятибитными байтами.

ну 2 в 16 объяснил, а 2 в 15 то причем? то, что это в 2 раза меньше - вообще не пришьешь ни к чему
 

MIP-ZmeY

Император
ну 2 в 16 объяснил, а 2 в 15 то причем? то, что это в 2 раза меньше - вообще не пришьешь ни к чему
При том что если используется тип данных со знаком, то предел положительного числа наступает в ДВА раза быстрее
т.к. половина из возможных значений это отрицательные числа (уровни же отрицательными числами измерять не получается)
 

MIP-ZmeY

Император
это в 2 раза меньше
Но вообще согласен с тем что искать предел предпочтительнее до числа 2^16!

Любят мне постоянно (что Странный Странник 0229, что Теомах) указывать на невежество... в вопросах за которые я деньги получаю.
А у самих наверное пригорит если сказать...
что разработчики могут везде использовать типы данных способные хранить именно целые неотрицательные числа.
(так как в игре нету необходимости применения/хранения отрицательных чисел)
 
Последнее редактирование:
Верх