Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 25.09.2007, 07:39   #1
Неактивный пользователь
 
Регистрация: 21.08.2007
Сообщений: 6
Репутация: 0
По умолчанию Перевод из двоичного числа в десятичное

Возникла проблемка с переводом из двоичного в десятичное.
В инструкции по протоколу которым я пользуюсь написано:
Имеет знак (S), десятичный порядок (Exponent), выраженный БЕЗЗНАКОВЫМ числом и указывающий положение ДЕСЯТИЧНОЙ точки (0 для целого числа, 1 для числа с десятыми долями и т.п.) и ненормализованную мантиссу (Mantissa).
S - старший бит
Exponent - 3 следующих бита
Mantissa - остальные биты (длина мантиссы определяется размером поля данных)
Значение числа можно вычислить, как
(-1)^S * 10^(-Exponent) * Mantissa

Во всех документациях с интернета написано несколько по-другому. Но ни тем ни другим способом не получается.
Может кто знает или есть более обширная документация, помогите.
Пример:
0100 0010 0110 0000 0110 0010
должно получится (округленно) 56,0957
Crosslive вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: ds k2602tМагазин бытовой техники: мультиварка цена в москве - переходи на сайт ТАЙМТВ!данные из метрики в 1ссинтетические камни вставкиZoom YouTube


Старый 16.10.2007, 15:07   #2
Мешок
Пользователь
 
Пол:Мужской
Регистрация: 27.01.2007
Адрес: Киев
Сообщений: 103
Репутация: 130
По умолчанию Ответ: Перевод из двоичного числа в десятичное

Главное знать откуда идет исчисление целой части, а откуда - дробной, т.е. точку. Не помню как это сделать.
Далее слева от точки идет двойка в степени, т.е. 2 в 0-й степени, 2 в 1-й, 2 во 2-й....
Там где единица - считаешь ее разряд, начиная с нулевого и возводишь двойку в эту степень.
Т.о.
1) первые 4 бита отбрасываем для знака и ехр. - 0100
2) далее 8 бит идет для целой части - 0010 0110 (правда получается 36): 0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 0*2^4 + 1*2^5 + 0*2^6 + 0*2^7 = 36
3) с дробной частью поступаем примерно так же только там нужно: 1/0*2^1 + 0*2^2..... или можно записать по другому: 0*2^-1 + 0*2^-2 +....
Далее алгоритм уже, думаю сам сообразишь


Посчитал, и дробная часть тоже не совпадает. Мож ответ и должен быть другим?
По ходу я тут только нафлеймил... Извините

Добавлено через 28 минут
Код:
var s:string;
ff,f:text;
a:array[1..1000] of integer;
i,n,x,v,j:integer;


begin
clrscr;
assign(ff,'output.txt');
rewrite(ff);
assign(f,'input.txt');
{$I-}
reset(f);
{$I+}
if IOResult=0 then
begin
repeat
readln(f,s);
for i:=1 to 10 do
a[i]:=-1;
i:=1;
repeat
if copy(s,i,1)='0' then a[i]:=0;
if copy(s,i,1)='1' then a[i]:=1;
i:=i+1;
n:=i-1;
until (copy(s,i,1)='-1') or (i=length(s)+1);
for i:=1 to n do
begin
v:=1;
for j:=1 to (n-i) do
v:=v*2;
x:=x+a[i]*v;
end;
writeln(ff,x);
until EOF(f);
end
else
writeln(ff,'ERROR');
close(f);
close(ff);
end.

Эта задача была на одной из школьных олимпиад. Ее решение довольно простое...
Нашел. не знаю правильно ли

Последний раз редактировалось Мешок; 16.10.2007 в 15:36.. Причина: Добавлено сообщение
Мешок вне форума
 
Ответить с цитированием Вверх
Старый 22.10.2007, 12:22   #3
xilian
Старожил
 
Аватар для xilian
 
Пол:Мужской
Регистрация: 12.04.2006
Адрес: Саксы
Сообщений: 1,450
Репутация: 311
По умолчанию Ответ: Перевод из двоичного числа в десятичное

Читать сюда : все станет понятно про вещественные числа : http://www.delphikingdom.com/asp/vie...?catalogid=374
__________________
Доктор Кнут, поверьте дети, крайне крут.
xilian вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из числа в текст. Excel. mrpleasure МOffice, Переводчики (словари), Органайзеры, Текстовые редакторы 9 19.03.2014 11:08
комплексные числа BFTFenix Visual C++ / С/C++ 15 05.02.2011 10:48
Как прочитать числа из бин-файла? Umnik1 Visual C++ / С/C++ 11 24.11.2008 10:19

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:46. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.03902 секунды с 13 запросами