Аноны, объясните по хардкору. Почему каждому байту соответствуют ровно две цифры шестнадцатеричной системы исчисления. А для записи байта в восьмеричной системы требуется три цифры.Объясните на пальцах!
бумп
>>813805 (OP)Ньюфаг-тред чуть выше. Разуй глаза.
>>813805 (OP)В байте 8 бит.чтобы считать от 0 до 15, нужно 4 бита, т.е. половина битов из байта. Отсюда две "гексады" по аналогии в декадами.В восьмеричной системе считаешь от 0 до 7. Байт поделен на 2+3+3 бита. Отсюда 3 "октавы"
>>813805 (OP)есть такое понятие в комбинаторике как размещения с повторением. например, при помощи размещения можно ответить на вопрос "сколько значений может принимать число, которое состоит из 5 цифр". первая цифра в 10 системе счисления может принимать значение от 0 до 9 (10 способов), вторая тоже может принимать значение от 0 до 9 и так 5 раз. в итоге число из 5 цифр может принимать 10^5 форм. здесь похожая идея, только твоя цифра принимает значение от 0 до 15 и от 0 до 7. достаточно двух цифр, чтобы представить байт(2^8=256) в 16-ричнной СС, потому что 1616=256. Вполне себе умещается. Но двух цифр будет недостаточно, чтобы уместить их в 8-ричной СС, потому что 88=64. Если добавить еще одну цифру, то получится 888=512. 64<256<512. То есть трех цифр в 8-ричной системе счисления вполне хватит, чтобы представить байт.
>>813805 (OP)Потому что байт - это число от 0 до 255, всего 256 возможных чисел. А двузначное шестнадцатеричное число можно тоже записать в 16 (первый разряд) 16 (второй разряд) = 256 вариантах.Восьмеричное двузначное число позволяет записать всего 8 8 = 64 варианта, поэтому чтобы закодировать 256 или выше, нужно вводить третий разряд.
>>813805 (OP)Вот байт: 00000000Вот 15 : 00001111Вот 7 : 00000111
>>813805 (OP)255 = 7 + 78 + 38*8Пиздец, до чего деградировал /pr/.
>>814961255 = 7 + 7 x 8 + 3 x 8 x 8Системы счисления изучают в школе, как и диапазон значений у байта.