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

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

Войти
Регистрация
Восстановить пароль
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
#1

Шестнадцатеричная цифра - C++

14.01.2011, 13:10. Просмотров 765. Ответов 4
Метки нет (Все метки)

как вывести k-ую справа шестнадцатеричную цифру целого положительного числа на экран в десятичной записи?

что-то я не совсем понимаю...ну допустим дана запись 0000 0000 1010 1010 и надо вывести 3ю спава цифру....это 0...так и в десятичной 0!....или мне кажется что я вообще не понимаю что делать.помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2011, 13:10     Шестнадцатеричная цифра
Посмотрите здесь:

Шестнадцатеричная система - C++
Задано шестнадцатеричное число. Напечатать таблицу умножения в шестнадцатеричной системе счисления от 1 до данного числа. Помогите...

Шестнадцатеричная чисельная система - C++
Нужно написать программу для перевода с 10-знаковой системы в 16. Хочу делать по такому плану: если остаток от деления , то просто...

Для чего используется шестнадцатеричная система счисления? - C++
Всем привет, заметил что в больших проектах часто вместо записи обычных чисел их прописывают в шестнадцатеричной система счисления, в чём...

Записать hex( шестнадцатеричная система счисления ) код файла в блокнот - C++
Здравствуйте, как записать hex код файла в блокнот ? Добавлено через 24 минуты проблема решена.

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

Цифра в степени - C++
Нужна помощь в создании программы которая найдет цифру в заданной степени без pow(). Я запутался создавая эту программу через циклы....

Цифра из числа - C++
Доброе время суток, интересует вот такой вот вопрос, необходимо присвоить значение переменной цифру из числа, т.е есть число A=12345 и мне...

Буква или цифра? - C++
Как на с++ определить вводится буква или цифра? пробывал так : while(n<0 && n>9) cin>>n;

Первая цифра в int-е - C++
Здравствуйте, есть перемена типа int int a = 85; как мне вытянуть первую цифру, то-есть 8 ?

Последняя цифра в int-е - C++
Здравствуйте, есть перемена типа int int a = 508; как мне вытянуть последнюю цифру, то-есть 8 ?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.01.2011, 13:36     Шестнадцатеричная цифра #2
Запись числа отличается в разных системах. Возьмём 123456. В десятичной системе это 123456, третья справа 4. В шестнадцатеричной число уже 1E240, третья справа цифра 2, в двоичной то же число 11110001001000000, третья цифра 0, а в восьмеричной само число 361100, третья цифра 1. Ко всем прочему, записи у тебя нет и с ней ты работать не можешь А как получить цифру? Крайняя правая есть остаток от деления на цело на основание самого числа, вторая справа - остаток от деления на цело на основание целого частного от деления числа на основание, третья - остаток от деления на цело на основание целого частного от деления числа квадрат на основания. А основание у тебя 16. Итого
C++
1
cout<<(x/16/16)%16;
. А в общем виде
C++
1
2
3
4
5
6
7
8
void f(int x, int k);
{
 for (; k>0; --k)
 {
   x/=16;
 }
 cout<<x%16;
}
.

Добавлено через 8 минут
Выведется десятичное значение цифры, то есть, например, при x=123456 и k=4, на экран будет выведено не E, а 14.

Добавлено через 1 минуту
А если столько цифр просто нет, то слева число будет дополнено незначащими нолями, что правильно. Например, десятая цифра числа 123456 равна 0, исходя из того, что само число 0000123456.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
14.01.2011, 14:03     Шестнадцатеричная цифра #3
Цитата Сообщение от barlog Посмотреть сообщение
как вывести k-ую справа шестнадцатеричную цифру целого положительного числа на экран в десятичной записи?
Диржы n-ную слева
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
 
int main(void){
    unsigned num;
    int pos;
    
    while ( printf("Hex number: ") && scanf("%x", &num) == 1 && num ){
        int digits = (int)(log((double)num) / log(16.0)) + 1;
        printf("position from left: ");
        if ( scanf("%d", &pos) != 1 || pos < 1 || pos > digits ){
            fprintf(stderr, "Wrong input!\n");
            return 1;
        }
        printf("Dec value: %d\n", ( num >> ( ( digits - pos ) * 4 ) ) % 16);
    }
    
    return 0;
}
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
14.01.2011, 15:32  [ТС]     Шестнадцатеричная цифра #4
Спасибо!сейчас буду разбираться...

Добавлено через 51 минуту
А вот еще хотелось спросить...а если число вещественное...есть разница между тем как целое и вещественное число представлены в памяти компьютера в 4 байтах в 16ичной записи???....я искала,везде пишут про экспоненциальную форму...а как же вещественное в 16-ичной?Расскажите пожалуйста!
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
14.01.2011, 16:00     Шестнадцатеричная цифра #5
barlog, вот тут про вещественные числа довольно подробно расписано...
Yandex
Объявления
14.01.2011, 16:00     Шестнадцатеричная цифра
Ответ Создать тему
Опции темы

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