Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

Уважаемые Мастера, очень нужна ваша помощь !!!   Найти похожие ветки 

 
Tornado   (2002-10-09 12:49) [0]

Есть у меня такое задание:

Перевести число 175,34 из десятичной системы счисления в двоичную. Погрешность при этом не должна превысить 0,01. Изложить соображения, поясняющие как достигается заданная точность перевода.

Пожалуйста, помогите, я уже замучился, давно с двоичной алгеброй не имел дела. Перевести число - без проблем, но вот что еще нужно: округлить полученное число (10101111,0101011 - вродь правильно перевел) и сделать проверку. У меня есть чужой примерчик, но никак я что-то не разберусь, подкиньте идейку, весь инет излазил. Огромное спасибо заранее.
Вот пример:

Перевести число 127,45 из восьмеричной системы счисления в шестеричную. Погрешность не должна превысить 0,1%.

а) Определим абсолютную максимально допустимую погрешность.
Десятичный эквивалент исходного числа равен
1*64 + 2*8 + 5*1 + 4/8 + 5/64 = 85,578 (с точностью до 0,001)
0,1% от числа 85,578 составляет примерно 0,09 в десятиной системе счисления.
б) Определим количество цифр в дробной части числа в искомой (шестеричной) системе счисления.
Веса соответствующих разрядов дробной части числа:

Номер разряда -1 -2 -3
Вес разряда 1/6 1/36 1/216

Вес единицы разряда -2 не достигает величины 0,03.

Следовательно, для числа в новой системе счисления требуется получить 2 точные цифры после запятой, а для этого надо вычислить три цифры после запятой и округлить полученное значение.

в) Переведем целую часть числа делением на 6.
Делимое Частное Остаток
127 16 3
16 2 2
2 0 2
Целая часть в новой системе счисления равна 223.

г) Переведем дробную часть умножением на 6
Целая часть Дробная часть
0, 45
3, 26
1, 64
4, 70
Дробная часть до округления равна 0,314
д.) Результат (в шестеричной системе счисления):
до округления после округления
223,314 223,32
е.) Проверка.
Для проверки преобразуем число 223,32 в десятичную систему счисления.
Оно равно 2*36 + 2*6 + 2*1 + 3*(1/6) + 2*(1/36) = 85,194 (с точностью до 0,001).

Абсолютная погрешность перевода (85,578 - 85,194) = . . .


 
MBo   (2002-10-09 12:59) [1]

для обеспечения точности не хуже 0.01 нужно иметь 7 знаков после запятой в двоичной записи - 1/128


 
Tornado   (2002-10-09 13:18) [2]

> MBo © (09.10.02 12:59)

Да, согласен, я так и сделал (правильно?):

Номер разряда -1 -2 -3 -4 -5 -6 -7
Вес разряда 1/2 1/4 1/8 1/16 1/32 1/64 1/128

А как это число округлить и проверить? Сейчас в этом загвоздка. И еще, в примере (см. выше) искался 0,1% от 127,45 (0,09) а потом, когда определили веса пишется:
Вес единицы разряда -2 не достигает величины 0,03. Вот 0,03 - это откуда? Спасибо огромное за ответ


 
Jeer   (2002-10-09 13:21) [3]

Tornado © (09.10.02 12:49)
>(10101111,0101011 - вродь правильно перевел)

И перевел неверно
Дробная часть, с учетом поста MBO,
выглядит так
0.34 ~ 0.0101011 == 0.3359375 (e = 0.0041)


 
Jeer   (2002-10-09 13:25) [4]

>И перевел неверно
Rollback, сорри

e = x - (A0*2^(-1)+A1*2^(-2)+A2*2^(-3)+...A(n-1)*2^(-n))


 
MBo   (2002-10-09 13:29) [5]

Добавлю, что в приведенном примере указана погрешность 0.1 %, т.е. относительная (ошибка/значение), а у тебя в задаче написано просто 0.01, т.е. подразумевается абсолютная погрешность.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.036 c
1-92482
Хамло
2002-10-18 09:18
2002.10.28
Существует ли какая-нить функция подстановки....?


14-92698
Undert
2002-10-07 23:47
2002.10.28
Не упустите возможность быть в первых номерах .....


4-92789
CB_81
2002-09-10 13:27
2002.10.28
alt+tab


3-92404
Олег Лузгин
2002-10-08 19:15
2002.10.28
Помогите с выбором, плиз


1-92444
pirat
2002-10-17 19:45
2002.10.28
Как монопольно захватить Canvas?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский