47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
1 | |
Перевести отрицательное число из десятичного представления в машинное представление18.10.2014, 20:30. Показов 4755. Ответов 9
Метки нет Все метки)
(
Как перевести отрицательное число с десятичной представления в машинное представление ( дробь правильная)
64 розрядное, целое и дробь. может кто просветить не шарю совсем( не понимаю саму суть что делать надо, если бы понял мог бы и накодить исходя из понятого а так.... Добавлено через 57 минут up ![]()
0
|
|
18.10.2014, 20:30 | |
Ответы с готовыми решениями:
9
Получить машинное представление 64-битного вещественного десятичного числа (15,92), ответ в шестнадцатеричном коде Перевести из десятичного представление числа в шестнадцатеричное
|
7653 / 6457 / 2945
Регистрация: 14.04.2014
Сообщений: 28,157
|
|
18.10.2014, 21:10 | 2 |
Ты толком сформулируй. Побитовое нужно или что? Зачем тебе машинное представление?
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
18.10.2014, 22:55 [ТС] | 3 |
ну вводишь отрицательное число в 10 системе счисления
выводит в двоичной форме число с размером как в калькуляторе онлайн пощитал но выводить не надо как щитает,просто ввел число, вывело решение вот на всякий ссылька на калькулятор http://math.semestr.ru/inf/ieee754.php Формат числа с плавающей запятой Представление двоичного числа с плавающей точкой в экспоненциальном нормализованном виде. 2545 = 1001111100012 Сдвинем число на 11 разрядов вправо. В результате мы получили основные составляющие экспоненциального нормализованного двоичного числа: Мантисса M=-1.001111100010 Экспонента exp2=11 Преобразование двоичного нормализованного числа в 64 битный формат IEEE 754. Первый бит отводится для обозначения знака числа. Поскольку число отрицательное, то первый бит равен 1 Следующие 11 бит (с 2-го по 12-й) отведены под экспоненту. Для определения знака экспоненты, чтобы не вводить ещё один бит знака, добавляют смещение к экспоненте +1023. Таким образом, наша экспонента: 11 + 1023 = 1034 Переведем экспоненту в двоичное представление. 1034 = 100000010102 Оставшиеся 52 бита отводят для мантиссы. У нормализованной двоичной мантиссы первый бит всегда равен 1, так как число лежит в диапазоне 1 ≤ M < 2. Для экономии, единицу не записывают, а записывают только остаток от мантиссы: 0011111000100000000000000000000000000000000000000000 В результате число -2545 представленное в IEEE 754 c двойной (double) точностью равно 1100000010100011111000100000000000000000000000000000000000000000. Переведем в шестнадцатеричное представление. Разделим исходный код на группы по 4 разряда. 11000000101000111110001000000000000000000000000000000000000000002 = 1100 0000 1010 0011 1110 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2 Получаем число: 1100 0000 1010 0011 1110 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2 = C0A3E2000000000016
0
|
7653 / 6457 / 2945
Регистрация: 14.04.2014
Сообщений: 28,157
|
|
18.10.2014, 23:06 | 4 |
А просто double или float в шестнадцатеричном виде взять нельзя? Надо именно вручную разбирать и все эти выкладки показывать?
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
18.10.2014, 23:42 [ТС] | 5 |
ну у меня задание "отрицательное число с десятичной представления в машинное представление ( дробь правильная)
64 розрядное, целое и дробь." и в теории написанно вроде приблизительно как на калькуляторе щитают( в теории вобще нечего непонятно кто блин ее писал) но если выходит приблезительно то же я бы и от этого примера не отказался бы. Но все же надо вот таким способом делать.и потом просто вывести ответ(не росписивая что делаем) *результат должен быть в 2оичном виде в 64 розряда
0
|
7653 / 6457 / 2945
Регистрация: 14.04.2014
Сообщений: 28,157
|
|
18.10.2014, 23:57 | 6 |
Сохраняешь своё число в переменную double, затем интерпретируешь double как unsigned long long и выводишь в шестнадцатеричном представлении.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
19.10.2014, 19:12 [ТС] | 7 |
мне в 2оичном надо
Добавлено через 5 минут поможет кто хотя бы алгоритм гайд какой дать по представления чисел с плавающей запятой. - наверное так надо было назвать тему в 64битном формате понял в калькуляторе только до Добавлено через 12 минут до Представление двоичного числа с плавающей точкой в экспоненциальном нормализованном виде. 2545 = 1001111100012 Сдвинем число на 11 разрядов вправо. В результате мы получили основные составляющие экспоненциального нормализованного двоичного числа: Мантисса M=-1.001111100010 Экспонента exp2=11 Преобразование двоичного нормализованного числа в 64 битный формат IEEE 754. Первый бит отводится для обозначения знака числа. Поскольку число отрицательное, то первый бит равен 1 Следующие 11 бит (с 2-го по 12-й) отведены под экспоненту. Для определения знака экспоненты, чтобы не вводить ещё один бит знака, добавляют смещение к экспоненте +1023. Таким образом, наша экспонента: 11 + 1023 = 1034 Переведем экспоненту в двоичное представление. 1034 = 100000010102 вот ето непонял Оставшиеся 52 бита отводят для мантиссы. У нормализованной двоичной мантиссы первый бит всегда равен 1, так как число лежит в диапазоне 1 ≤ M < 2. Для экономии, единицу не записывают, а записывают только остаток от мантиссы: 0011111000100000000000000000000000000000000000000000 В результате число -2545 представленное в IEEE 754 c двойной (double) точностью равно 1100000010100011111000100000000000000000000000000000000000000000. каким боком 0011111000100000000000000000000000000000000000000000 стает вот такой 1100000010100011111000100000000000000000000000000000000000000000 Добавлено через 13 часов 1 минуту ех(( Добавлено через 5 часов 49 минут UP)
0
|
7653 / 6457 / 2945
Регистрация: 14.04.2014
Сообщений: 28,157
|
||||||
19.10.2014, 19:51 | 9 | |||||
![]() Решение
Так?
1
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
19.10.2014, 20:51 [ТС] | 10 |
0
|
19.10.2014, 20:51 | |
19.10.2014, 20:51 | |
Помогаю со студенческими работами здесь
10
Перевести отрицательное десятичное число в двоичную систему! Машинное представление Перевести заданное десятичное число в шестнадцатеричную форму. Ввод десятичного числа с клавиатуры Найти отрицательное число и после отрицательное число заменить все элемент на нули Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |