Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
1

Целое число (2^24+63) преобразовали в single и обратно в целое - какое число получится в результате?

02.12.2020, 15:24. Показов 1662. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
прив! возникло некоторое затруднение с вопросом из теста.. 32-битное целое значение 224+63 было сконвертировано в IEEE754 двоичное 32-битное значение с плавающей точкой, а затем обратно сконвертировано в целое.. какое будет результирующее целое значение?? обоснуйте свой выбор..

a) 224 + 62
b) 224 + 56
c) 224 + 60
d) 224 + 63
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2020, 15:24
Ответы с готовыми решениями:

Найти такое число, при умножение которой получится целое число
Дано число. Требуется найти такое число, при умножение которой получится целое число Например дано...

Как добавить целое число к ячейке БД(где есть целое число) и показать пользователю в таблице datagridview?
Уже есть метод, который может добавить целое число к выбранной ячейке БД. Но проблема в том,что я...

Дано целое число N (> 0), являющееся некоторой степенью числа 2: N = 2K . Найти целое число K — показатель этой степени
Дано целое число N (> 0), являющееся некоторой степенью числа 2: N = 2K . Найти целое число K —...

Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры
Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой...

4
Ушел с форума
Автор FAQ
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,699
03.12.2020, 04:31 2
Лучший ответ Сообщение было отмечено ФедосеевПавел как решение

Решение

proc3nt,
224+63=16777279https://www.cyberforum.ru/cgi-bin/latex.cgi?\tosingle IEEE754 4B800020hhttps://www.cyberforum.ru/cgi-bin/latex.cgi?\to16777280https://www.cyberforum.ru/cgi-bin/latex.cgi?\to224+64 среди предложенных вариантов такого числа нет

16777279 >0 знак "+"=0
степень 24, в смещенном виде 24+127=151=100101112
23 разряда мантисса - 24 степень =-1
мантисса (16777279-224)*2-1=63*0,5=31,5~32=000000000000000001000002
собираю число 0.10010111.00000000000000000100000=0100.1011.1000.0000.0000.0000.0010.0000=4B800 020h
разбираю число обратно
1,00000000000000000100000х224=10000000000000000010000002=16777280
3
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
03.12.2020, 07:49  [ТС] 3
Mikl___, добавлю только то, что правильным в этом тесте почему-то оказался вариант a) 224 + 62
0
Модератор
Эксперт по электронике
8522 / 4376 / 1648
Регистрация: 01.02.2015
Сообщений: 13,598
Записей в блоге: 9
03.12.2020, 08:41 4
Mikl___, прав.
Экспериментальная проверка
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.486
.model flat, stdcall
option casemap :none
 
        include \masm32\include\kernel32.inc
        include \masm32\include\msvcrt.inc
 
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\msvcrt.lib
.data
        azFormat        db      '%d', 0Dh, 0Ah, 0
        iValue          dd      (1 shl 24)+63
.data?
        fValue          dd      ?
.code
 
start   proc
        ;вывод исходного значения
        invoke  crt_printf, ADDR azFormat, [iValue]
        ;манипуляции по условию задачи
        finit
        fild    [iValue]
        fstp    [fValue]
        fld     [fValue]
        fistp   [iValue]
        ;вывод результата
        invoke  crt_printf, ADDR azFormat, [iValue]
        ;------------------------------------------------------------
        invoke  crt__getch
        ;завершение программы
        invoke  ExitProcess, 0
start   endp
 
end start
выводит на экран 16777280=2^24+64
1
E=m*c^2
160 / 47 / 10
Регистрация: 04.02.2019
Сообщений: 263
Записей в блоге: 5
06.12.2020, 02:21 5
proc3nt, тут нужно применять такую логику.

мантисса single занимает 23 бита явно и плюс 1 бит неявно, то есть суммарно 24 бита,
число 2^24 занимает 25 бит, значит при преобразование один бит будет потеря и повторное преобразование будет всегда возвращать число кратное двум.

в данном случаe это 2^24+62

Добавлено через 1 час 32 минуты
в реальных же примерах которые вам приводят в момент преобразования числа происходит его округление в большую сторону и преобразованию подвергается уже число 2^24+64 оно же в последствие и возвращается при обратном преобразование.
1
06.12.2020, 02:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2020, 02:21
Помогаю со студенческими работами здесь

Дано целое число, являющееся некоторой степенью числа 2. Найти целое число K — показатель этой степени
Добрый день форумчанине. Помогите пожалуйста перевести, программу из Pascal на MatLab Дано...

Ввести с клавиатуры целое число N и найти такое наибольшее целое число K, что будет справедливо неравенство
Напишите следующую программу. Ввести с клавиатуры целое положительное число N и найти такое...

Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
задание такое Составить функцию, которая, получив целое число определяет, уменьшается ли оно в...

Дано целое число N. Найти наименьшее целое положительное число K, при котором выполняется неравенство 3^k > N.
Используя цикл while Дано целое число N. Найти наименьшее целое положительное число K, при котором...

Factorizing Algorithm. Функция, которая получает целое число, если целое число > 1, выдает факторы
не могу разобраться с написанием программы. теоретически логику понимаю, но дальше не идет....

Если целое число m делится нацело на целое число n, то вывести на экран частное от деления
Запросите у пользователя два целых числа m и n. Если целое число m делится нацело на целое число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru