Технический форум
Вернуться   Технический форум > Программирование > Форум программистов


Ответ
 
Опции темы Опции просмотра
Старый 23.12.2011, 15:15   #1 (permalink)
uncoflops
Новичок
 
Регистрация: 23.12.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Перевести следующие числа из десятичной системы счисления в двоичную

а) Перевести следующие числа из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
360(10); 235(10)
Выполнить вычитание.
1011001001(2) +1100111011(2)
б) Создать программу VBA, реализующую алгоритм получения произведения 7 натуральных чисел.
в) Заполните 6 строк электронной таблицы MS Excel, имеющей следующие поля:
Наименование товара
Цена за единицу
Кол-во проданного товара
Создать программу VBA, рассчитывающую стоимость каждой покупки с учетом 0,5% к каждой покупки.

ОЧЕНЬ нужно плиззз помогите
uncoflops вне форума   Ответить с цитированием

Старый 23.12.2011, 15:15
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вот ссылки по которым содержаться темы интересные для вас

Перевести CCFL монитор на LED
Описать запись с именем ORDER, содержащую следующие поля...
Строки/файлы: описать запись с именем ORDER, содержащую следующие поля...
Системы счисления
Помогите написать программу на Паскаль на системы счисления

Старый 23.12.2011, 15:21   #2 (permalink)
uncoflops
Новичок
 
Регистрация: 23.12.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Хотябы как это делать
uncoflops вне форума   Ответить с цитированием
Старый 23.12.2011, 16:41   #3 (permalink)
Ivan
Member
 
Регистрация: 11.04.2010
Сообщений: 604
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1528
По умолчанию

Цитата:
Сообщение от uncoflops Посмотреть сообщение
а) Перевести следующие числа из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
360(10); 235(10)
Выполнить вычитание.
1011001001(2) +1100111011(2)
Это можно сделать на инженерном калькуляторе
Ivan вне форума   Ответить с цитированием
Старый 23.12.2011, 18:49   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,362
Записей в дневнике: 56
Сказал(а) спасибо: 120
Поблагодарили 149 раз(а) в 61 сообщениях
Репутация: 58290
По умолчанию

а) Задание решается несколькими способами, наиболее популярные из них - деление на основание с остатком, методы триад и тетрад и использование развернутой записи числа. Предлагаю третий способ, как, imho, наиболее наглядный
360(10)=256+64+32+8=1*2^8+0*2^7+1*2^6+1*2^5+0*2^4+ 1*2^3+0*2^2+0*2^1+0*2^0=101101000(2)
360(10)=256+96+8=1*16^2+6*16^1+8*16^0=168(16)
360(10)=320+40=5*8^2+5*8^1+0*8^0=550(8)

253(10)=128+64+32+16+8+4+1=1*2^7+1*2^6+1*2^5+1*2^4 +1*2^3+1*2^2+1*2^0=11111101(2)
253(10)=240+13=15*16^1+13*16^0=FD(16) - F=15, D=13
253(10)=192+56+5=3*8^2+7*8^1+5*8^0=375(8)

Метод триад продемонстрирую на последнем примере - перевод 253(10) в восьмеричную систему счисления. Метод основан на последовательном переводе в двоичную СС, разбиение полученного двоичного числа на тройки разрядов и преобразование троек двоичных разрядов в соответствии с таблицей соответствия чисел для первых 8 чисел (от 0 до 7).

Как уже выяснили, число 253(10)=11111101(2)
Разбиваем двоичное число 11111101 на тройки разрядов справа налево, недостающие разряды троек слева дополняем незначащими нулями. Получаем ряд троек двоичных разрядов: 011 111 101, каждой из троек соответствует разряд восьмеричного числа.
Максимальное значение тройки будет равно 111, что соответствует цифре 7, при превышении которого происходит переполнение восьмеричного разряда и он обнуляется с переносом единицы в старший разряд.
Если посмотреть по таблице соответствия первых 8 значений в разных СС, то тройке 011 соответствует цифра 3, 111 - цифра 7, 101 - цифра 5, соответственно, записываем эти цифры в порядке следования двоичных триад, получаем восьмеричное число 375(8).

Подобный способ перевода может использоваться и для шестнадцатиричных чисел, только используются четверки двоичных разрядов (тетрады). 16=2^4, максимальное значение тетрады 1111(2)=15=F(16).
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

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




Часовой пояс GMT +4, время: 00:48.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.