![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
![]()
Всем привет.
Имеется число, записанное в десятичной системе счисления : 0.111. Задача перевести в двоичное представление. Если делаю вручную по законам перевода, получается число, отличное от того, которое мне выдает онлайн система перевода систем счиления(numsys.ru). В общем, вот что у меня получается: Код:
Код:
Код:
Заранее спасибо за ответ. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
![]() Цитата:
Я не спрашивал как компьютер хранит числа |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
Есть вероятность, что копится погрешность на операциях с плавающей точкой.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Невнимательно прочитал. Тогда непонятно ничего. Мне самому интересно стало. Дальше покажу, как я вижу ситуацию, а вы поправьте, если что не так
Вот как строятся вещественные числа в десятичной системе: 18.157d = 1*10^1 + 8*10^0 + 1*10^-1 + 5*10^-2 + 7*10^-3 Наверное, так же должны и двоичные строиться. Вот как это число будет выглядеть в двоичной системе исчисления: 18d = 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 Как видите, я дошёл до точки, а что дальше? 2^-1, 2^-2 и т.д.? Последний раз редактировалось 8Observer8; 24.10.2014 в 17:19. |
![]() |
![]() |
![]() |
#6 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
есть годная православная статья Антона Григорьева "Неочевидные особенности вещественных чисел". Читать всем! Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
У тебя вроде правильно.
http://www.wolframalpha.com/input/?i=0.111+to+binary |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 21.10.2014
Сообщений: 43
|
![]()
to DakotaZ
прогнал твой вариант - правильный http://ideone.com/yoWGeh их число 0.11099999856948806... получается |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
![]()
Значит я правильно сделал, а они нет?
|
![]() |
![]() |
![]() |
#10 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
а какой тип переменной у тебя для хранения float-числа?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++. Ошибка при присвоении символу следующей по порядку буквы (нужно для перевода в другую систему счисления c основанием > 10) | Vladislavv | Помощь студентам | 1 | 30.07.2014 13:16 |
Перевести число в двоичную систему счисления и вывести результат в массив, где каждый элемент – дв | nzltv | Помощь студентам | 2 | 21.03.2014 08:24 |
Перевод из 3 в 2 систему счисления на С++ | VladJAy | Помощь студентам | 10 | 25.10.2012 15:50 |
Перевести в 16 ричную систему счисления | колянчик1712 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 26.12.2011 18:10 |