В современной вычислительной технике информация хранится в виде последовательности байтов. Существует два способа хранения последовательности: записывать байты от младшего к старшему (little-endian или остроконечный) или от ста...
В современной вычислительной технике информация хранится в виде последовательности байтов. Существует два способа хранения последовательности: записывать байты от младшего к старшему (little-endian или остроконечный) или от старшего к младшему (big-endian или тупоконечный). Невнимательный программист перенес побайтово очень важное четырехбайтовое число с машины с типом хранения little-endian в машину с типом хранения big-endian. Очевидно, что на этой машине данный порядок байтов соответствует совсем другому числу. На машине с big-endian получилось число 3070822802. Определите, какое число было изначально. В ответе укажите одно целое число в десятичной системе счисления.
Ответ(ы) на вопрос:
Гость
Пример решения с обьяснением
4277228478 закодировано таким порядком байт 0xFE 0xF1 0x53 0xBE
или 4277228478_10 = FEF153BE_16
чтоб перейти в другой порядок байт, надо их поставить в обратном порядке. Почему по 2 цифры? Потому что 1 байт = 8 бит = 2^8 = 256 = от 0 до 255 или от 0 до FF в 16ричной
0xBE 0x53 0xF1 0xFE
BE53F1FE_16 = 3 193 172 478_10
Старалась объяснить как можно яснее
Конкретно для этого задания
3070822802 = hex: B7 09 09 92
Hex(920909B7) = 2 450 065 847
Ответ 2 450 065 847
Не нашли ответ?
Похожие вопросы