|
|
|
| задание: даны два целых числа A=(3210) в четверичной системе счисления и B=(10000001) в двоичной системе.Найти новое десятичное число C=(2A+3B)*(2A+3B).На экран вывести C в десятичном и восьмеричном виде.Ввод и вывод использовать cin и cout, Спасибо! У меня получается все с переводом, но загвостка в самой программе, то есть не могу написать правильно)): | |
|
|
|
|
|
|
|
для: Cena
(08.11.2011 в 21:40)
| | Ну, покажите Ваш код программы, который Вы написали. | |
|
|
|
|
|
|
|
для: gambit09
(08.11.2011 в 22:29)
| | Я посчитал C в десятичной системе счисления, у меня в программе проблема, не могу понять, как ее написать)); то есть я A и B ПЕРЕВОЖУ В ДЕСЯТИЧНУЮ систему, а далее как простые целые числа я подставляю в формулу C, А ПОСЛЕ ПЕРЕВОЖУ В ДЕСЯТИЧНУЮ И ВОСЬМИРИЧНУЮ систему? Я просто не могу понять, как заставить процессор понимать эти системы счисления:(( | |
|
|
|
|
|
|
|
для: Cena
(08.11.2011 в 21:40)
| | Не очень понятно, числа поступают от пользователя, или их можно задать прямо в программе? Т.е. мы имеем дело со строками или с числами. В последнем случае ничего даже переводить не потребуется. Кстати, вот еще что не понятно, можно ли использовать библиотечные функции или системы перевода нужно реализовывать самостоятельно? | |
|
|
|
|
|
|
|
для: cheops
(09.11.2011 в 13:08)
| | Здраствуйте, числа поступают от пользователя, то есть должен осуществиться перевод A и B в десятичную систему, а далее, чтобы найти значение C В ДЕСЯТИЧНОМ виде нужно значения A и B посчитать как целые числа, а после требуется вывести на экран значение C в десятичном и в восьмиричном виде. Значения A и B, и формула нахождения C написаны выше, я просто не понимаю, как заставить процессор переводить из одной системы счисления в другую? | |
|
|
|
|
|
|
|
для: Cena
(09.11.2011 в 15:47)
| | A,B,C- значения, а в скобках цифры | |
|
|
|
|
|
|
|
для: Cena
(09.11.2011 в 15:47)
| | Можно поступить следующим образом
#include <cstdlib>
#include <iostream>
using namespace std;
// Прототипы
int bin2dec(char *);
int four2dec(char *);
// Главная функция
int main (int, char*)
{
// Число в четвертичной системе
char A[10] = "3210";
// Число в двоичной системе
char B[10] = "10000001";
// Преобразуем числа в десятичную систему
// исчисления
int adec = four2dec(A);
int bdec = four2dec(B);
// Вычисляем результат
unsigned long cdec = (2 * adec + 3 * bdec);
cdec *= cdec;
// Выводим результат
cout << cdec << endl;
// Задержка перед закрытием
system("PAUSE");
return 0;
}
// Преобразование двоичного числа в десятичное
int bin2dec(char *binary)
{
int multiplier = 1;
int number = 0;
for(int i = strlen(binary); i; i--, multiplier *= 2)
{
if(binary[i - 1] == '1') number += multiplier;
else if(binary[i - 1] != '0')
{
cout << "Не верный формат бинарного числа";
return -1;
}
}
return number;
}
// Преобразование четвертичного числа в десятичное
int four2dec(char *oct)
{
int number = 0, mul = 0;
int multiplier = 1;
for(int i = strlen(oct); i; i--, multiplier *= 8)
{
switch(oct[i - 1])
{
case '0':
mul = 0;
break;
case '1':
mul = 1;
break;
case '2':
mul = 2;
break;
case '3':
mul = 3;
break;
default :
cout << "Не верный формат четвертичного числа";
return -1;
}
number += mul*multiplier;
}
return number;
} |
| |
|
|
|
|
|
|
|
для: cheops
(09.11.2011 в 18:55)
| | Большое спасибо Вам, осталось только разобраться в программе, т. к. много новых функций задействованы в программе.
[поправлено модератором: новый вопрос выделен в новую тему] | |
|
|
|