Главная страница
    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.46 MB
Время: 0.007 c
3-92405
BJValentine
2002-10-07 14:27
2002.10.28
MS SQL


1-92593
dim-
2002-10-16 22:48
2002.10.28
Как определить, что ListView был изменен


14-92728
werr
2002-10-09 09:30
2002.10.28
USB 2.0, 1.1, 1.0


1-92501
Sova
2002-10-15 11:19
2002.10.28
Разрешения экрана и размер фонтов.


1-92601
brestmarket
2002-10-15 12:44
2002.10.28
Как в WebBrowser1 программно переходить от одного якоря (anchor)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский