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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DiRoya
Сообщений: n/a
#1

работа с записью числа в шестнадцатеричной сс - C++

04.11.2012, 14:54. Просмотров 760. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Помогите, пожалуйста, с лабораторкой.
На ввод даётся целое число. Необходимо проверить, является ли запись этого числа в шестнадцатеричной системе счисления палиндромом(палиндром - число, которое имеет одинаковое чтение слева направо и справа налево).
Каким образом можно это реализовать?
Банальное представление это числа в 16-ричной СС (cout << hex << n, как я понимаю, не поможет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 14:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос работа с записью числа в шестнадцатеричной сс (C++):

Побитовые операции, работа с шестнадцатеричной записью - C++
Добрый вечер. Цель лабы обработка числовой информации, работа с побитовыми операциями. Сама задача: Дано длинное целое неотрицательное...

Определить, является ли текст шестнадцатеричной записью числа, кратного 5 (Pascal -> C++) - C++
Помогите пожалуйста перевести из Pascal в С++ Задан текст, в который входят только цифры и буквы. Определить, является ли этот текст...

Преобразование записи числа в шестнадцатеричной СС в unsigned long - C++
Как получить из строки (&quot;168A4C&quot;) число в 16с/с? (1477196) char str = &quot;168A4C&quot;; unsigned long num = (unsigned long)str; ...

Написать программу, которая переводит числа с шестнадцатеричной системы в десятичную - C++
С использованием функции hex, а также без неё.

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

В заданном массиве натуральных чисел заменить все числа на такие числа, которые получаться из исходного записью его цифр в обратном порядке - C++
Ребят выручайте не могу зачет сдать из-за этой лабы =( не могу сделать. надо сделать через тип данных вектор. &quot; В заданном массиве...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zvoronz
271 / 238 / 21
Регистрация: 29.05.2012
Сообщений: 889
04.11.2012, 16:12 #2
Можно как то вот так. Проверяется 32-х битное число на полиндромность.

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
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <vector>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int mask = 0xF0000000;
    int n;
    std::cout << "n = ";
    std::cin >> n;
    int start = 8;
 
    for(int i = 0; i < 8; ++i)
    {
        if((n & mask) == 0)
        {
            mask >>= 4;
            mask &= 0x0FFFFFFF;
            --start;
        }
        else break;     
    }
 
    int mask2 = 0x0000000F; 
    bool polyndrome = true;
 
    for(int i = 0, j = start; (i < j) && polyndrome; ++i, --j)
    {
        if(((n & mask) >> ((j-1)*4)) != ((n & mask2) >> (i*4))) polyndrome = false;
        mask >>= 4;
        mask2 <<= 4;
    }
 
    std::cout << std::hex << n << ((polyndrome)?" is polyndrome" : " is not polyndrome") << std::endl;
 
        return 0;
}
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
04.11.2012, 18:40 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdio>
#include <cstring>
 
int main()
{
    size_t n = 0xabcba;
    char s[32], *pa = 0, *pb = 0;
    sprintf(s, "%x", n);
    for(pa = s, pb = s + strlen(s) - 1; (pa < pb) && (*pa == *pb); ++pa, --pb)
    ;
    puts((pa >= pb) ? "true" : "false");
    return 0;
}
0
DiRoya
Сообщений: n/a
04.11.2012, 19:30 #4
а можно решить данную задачу, не используя строки?
AlexeiZverev
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 2
28.11.2012, 19:56 #5
Цитата Сообщение от DiRoya Посмотреть сообщение
а можно решить данную задачу, не используя строки?
дай свой контакт, скину тебе туда
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 19:56
Привет! Вот еще темы с ответами:

Работа с чтением/записью бинарного файла - C++
Здравствуйте. Хочу создать бинарный файл, туда записать число. Затем его закрыть, заново открыть и прочитать из него записанное число в...

Текст является десятичной записью числа, кратного 9 - C++
Добрый всем день. Помогите мне решить данное задание , я плохо разбираюсь в этом языке программирования ,т.к. мягко говоря ,наш...

Строки: является ли текст записью десятичного числа, кратного 4 - C++
В заданный непустой текст входят только цифры и буквы. Определить, является ли текст записью десятичного числа, кратного 4.

Определить, является ли текст десятичной записью числа, кратного 9 - C++
Является ли текст записью десятичного числа,кратного 9 В заданный непустой текст входят только цифры и буквы. Определить. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.11.2012, 19:56
Ответ Создать тему
Опции темы

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