Форум программистов, компьютерный форум CyberForum.ru

Системы счисления - C++

Восстановить пароль Регистрация
 
usflash
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 9
18.04.2012, 20:57     Системы счисления #1
Задано положительное действительное число up в системе счисления с основанием p с фиксированной точкой, и основание q (p, q ≠ 2, 8, 10, 16). Требуется:
1. Перевести число up в систему счисления с основанием q (при проверке работы программы числа up и q задаются преподавателем).
2. Перевести число up в 32-разрядный двоичный код, после чего это число с по-мощью разбиения на тетрады (т.е. на четверки цифр) перевести в шестнадца-теричный код.
3. Представить число up в двоично-десятичном коде.
4. Считая число up отрицательным, представить его в двоичном коде с плаваю-щей точкой, после чего нормализовать это число (2 знаковых разряда – один разряд для знака мантиссы, один - для знака порядка, 7 разрядов - для пред-ставления порядка числа и 23 разряда – для мантиссы).
5. Представить отрицательное число up в прямом, обратном и дополнительном кодах.

Помогите пожалуйста!
В первом пункте, при переводе числа в 10-ичную с.с., результат получается неверный...Что здесь не так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
    float p, q, ch, celch=0, drch=0;
    float udes=0;
    char u[20]={'\0'}; 
    cout<<"Input initial numeric system [2...16]\n"; 
    cin>>p;
    cout<<"Input final numeric system [2...16]\n"; 
    cin>>q;
    getchar();
    cout<<"Input number\n"; 
    gets(u);
    for (int i=0; i<20; i++){
        if (isalnum(u[i])) celch++; 
        else if (ispunct(u[i])) 
        for (i; i<20-celch; i++) 
        if (isalnum(u[i])) drch++;}
    ch=celch+drch;
    for (int i=0; i<ch; i++)
        if (u[i]!=',' && u[i]!='.'){
           udes+=u[i]*pow(p,(celch-1));
           celch--;}
     cout<<udes;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 20:57     Системы счисления
Посмотрите здесь:

C++ системы счисления
Программа обучения переводу чисел из десятичной системы счисления в 2 10 и 16 систем счисления C++
C++ Простейший алгоритм перевода числа из 10 системы счисления в 16 ричную систему счисления
C++ Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
C++ Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно
из 16 в 10 (системы счисления) C++
Системы счисления C++
C++ С восьмеричной системы счисления в десятичную систему счисления
Системы счисления C++
C++ Перевод строки из 2-ной системы счисления в 8-ную систему счисления
Написать программу, которая переводит число из десятичной системы счисления в позиционную систему счисления C++
C++ Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9 систему счисления C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 20:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru