PDA

Просмотр полной версии : [Помогите!] Несколько вопросов от нуба по 16ти ричной системе исчисления


zap96ol
09.03.2014, 10:02
Здравствуйте всем!
Есть несколько вопросов по 16ти ричной системе исчисления и другим...

1. Столкнулся как то в коде программы с вот такой вот абривиатурой: "$5A3F" (без ковычек)
Немного погуглив выяснил что значок "$" ставиться перед кодом 16ти ричной системы исчисления....
Потом еще немного погуглив, выяснил, что я просто дуб дубом в этой системе

Вопросы: Может мне кто нить объяснить зачем нужно использовать в программирование эти числа?
для какого подсчета они нужны?
Почему просто нельзя использовать различные комбинации чисел 1234567890 ?
Я например могу пока что написать на Делфи только калькулятор(не такой как в win7):
2 edit'a - для ввода значений с которыми будут происходить математические операции
1 edit - для вывода полученных значений при выполнение математ операциях
4 button'а - 4 кнопки + - * /
То есть я даже не могу написать каль как в win7, который бы в одном Edit и брал значения, запоминал их, и потом выводил полученный результат в этом же поле...
п.с. Если кто то меня понял и сможет обьяснить как производиться запоминание чисел и потом вывод результатов в одном поле ввода , а если проще то как написать кальк как в win7, то буду естественно благодарен!

2. Как то столкнулся с такой проблемой - на флешке на самом деле меньше свободного пространоства чем написано на упаковке.
То есть например флешка на 16гб - а у нее при полном форматирование только 14.9гб, и так со всеми насителями информации...

Опять же немного погуглив выяснил, что это всё виноваты производители которые считают что 1гб=1000мб, хотя на самом деле 1гб=1024мб
И потмо увидел формулу расчета:
16гб/1024/1024/1024 = 14.9гб
или
16гб/1024^3 = 14.9гб

Вопрос: и вот мне не понятно ПОЧЕМУ мы делим на 1024, и почему 3 раза?????
Может кто будь обьяснить откуда такая формула?
Буду Благодарен!!!


П.С. Просьба ответить хотя бы на один вопросик и если отвечаете, то помните - вы отвечаете для нуба, то есть можно как можно больше подробностей!


п.с. Просьба админов не удалять тему, если не там ее расположил то переместите плиз)
Спасибо

dred777
09.03.2014, 11:36
На флешке, находятся драйвера и прочее Сис.ПО + ко всему, производители действительно считают что 1 гб= 1000 мб, и делится вся эта делюга на 3 раза возможно,потому что 1гб, 1024мб, 1024 кб,1024 байт, ну это мое предположение, ведь, если посмотреть в байтах то будет 640гб=640 132 575 232 байт , у меня так.


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

Вот хороший сайт, есть что вычитать.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Yukikaze
09.03.2014, 17:48
8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами.
как не крути, а 0x5A3F - это 2 байта, ибо 1 байт это диапазон от 0x00 до 0xFF. Тем более шестнадцатеричное число можно записать и одной цифрой, 0xF например.

zap96ol
10.03.2014, 19:17
Так и не понял, может еще кто нибудь обяьснить прям вот именно как для тупого?????

dred777
10.03.2014, 19:27
просто в 16ричной системе проще, короче и удобнее представлять двоичные числа. просто потому что 16 - это 2 в четвертой степени, и 16ричные числа спокойно конвертируются в двоичные и наоборот. Т.е. например типичная сетевая маска 255.255.255.0 ip-протокола в шестнадцатеричной записывается попросту FFF0.


Компьютер, это вычислительная машина, ну и соответственно ей нужно не с воздухом работать же.

MembRupt
11.03.2014, 15:27
выяснил, что я просто дуб дубом в этой системе
Сложно быть "дубом" в 16-ричной системе и не быть им в нескольких других :) Просто почитайте учебные материалы.
Нужно для удобства, т.к. в компьютерах используется двоичная система, а восьмеричная и шестнадцатиричная - это более краткие записи двоичной

zap96ol
13.03.2014, 16:49
просто в 16ричной системе проще, короче и удобнее представлять двоичные числа. просто потому что 16 - это 2 в четвертой степени, и 16ричные числа спокойно конвертируются в двоичные и наоборот.
Кажеться понял, спасибо
То есть двоичная система это число с основанием 2, а в 16ричной получаеться основание - 16 , да?

MembRupt
13.03.2014, 16:53
Кажеться понял, спасибо
То есть двоичная система это число с основанием 2, а в 16ричной получаеться основание - 16 , да?

Двоичная система это не число :) Она с основанием 2. Например, это значит, что если вы будете переводить из двоичной в десятичную, то нужно умножить каждый разряд числа на соответствующую степень двойки(степени считать от нуля, с левой стороны), а затем всё сложить