С++ и шестнадцатиричные и двоичные числа (Вопрос чайника(хорошего) - как преобразовывать?)

Модератор: Модераторы разделов

Аватара пользователя
powerfox
Сообщения: 458

С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

У меня есть символ c типа char, представление его в таблице будет int©. А как представить в двоичном и шетнадцатиричном виде? В гагл и поик не отправльть :)
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Jan2ary »

Отправлю тогда к умным книжкам по программированию на С, и еще стоит почитать про системы исчисления.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Vits
Сообщения: 17

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Vits »

int = 69 6e 74 а копирайт лень искать
Veni, vidi, Vitsin
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Vits писал(а):
30.09.2005 18:11
int = 69 6e 74 а копирайт лень искать

как я понял имеется ввиду присвоение переменной(объявление - определение), т.е. литерал. А мне нужно, имея переменную типа char, получить её в двоичном виде.
To Jan2ry: умные книг лучше, чем google, а умные люди ещё круче. :D
У меня Страуструп, 3-е издание. Про исчесления там есть(на первых 200 страницах) только про литералы и преобразования типа int(char) и static_cast() - про то, как сделать из десятичного двоичное - ничего. Вопрос ламерский - на то я и только начинаю изучать С++.
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

Определись пожалста, что тебе нужно, числа в компе хранятся в двоичном виде, для перевода в работе юзай какой нибудь навороченый инженерный калькулятор, если в голове не получается (без обид), если же тебе нужен вывод в различном виде, с хексами или нулями и единичками, то некоторые преобразования делает по моему printf (С не мой родной язык :)) смотри на форматы, ну а для более сложных читай свою толстую книженцию ибо это вопросы действительно из теории для начинающих, без которой дальше сложнее будет...
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
30.09.2005 20:10
Определись пожалста, что тебе нужно, числа в компе хранятся в двоичном виде, для перевода в работе юзай какой нибудь навороченый инженерный калькулятор, если в голове не получается (без обид), если же тебе нужен вывод в различном виде, с хексами или нулями и единичками, то некоторые преобразования делает по моему printf (С не мой родной язык :)) смотри на форматы, ну а для более сложных читай свою толстую книженцию ибо это вопросы действительно из теории для начинающих, без которой дальше сложнее будет...


зкштеа - стандартная ф-я С, в С++ почти не используется. Мне нужно повести хорирование двух символов char(например 'L' и 'T'), а для этого требуется перевести их вдвочный вид.
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение aLexx programmer »

powerfox писал(а):
30.09.2005 20:49
зкштеа - стандартная ф-я С, в С++ почти не используется. Мне нужно повести хорирование двух символов char(например 'L' и 'T'), а для этого требуется перевести их вдвочный вид.


Ууууу.... Как всё запущено.....

Код: Выделить всё

char q = 'L' ^ 'T';
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

ИМХО не верно задачу ставишь. Еще раз объясню, информация в компе хранятся в ДВОИЧНОМ виде, все остальное всего лишь представление этой инфы, для твоей задачи достаточно преобразовать char в byte и сделать xor... То есть из символа в число...

Или я что-то не так понял?
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

aLexx programmer писал(а):
30.09.2005 20:56
powerfox писал(а):
30.09.2005 20:49

зкштеа - стандартная ф-я С, в С++ почти не используется. Мне нужно повести хорирование двух символов char(например 'L' и 'T'), а для этого требуется перевести их вдвочный вид.


Ууууу.... Как всё запущено.....

Код: Выделить всё

char q = 'L' ^ 'T';



Я так пробовал ещё до темы хорирования - не пашет

Код: Выделить всё


#include<iostream>
int main()
{
        char q;
        char c1 = 'X';
        char c2 = 'W';
        q = c1 ^ c2;
        std::cout<< q;
}

Результат:

Код: Выделить всё

[fox@localhost C++]$ ./a.out
[fox@localhost C++]$
Спасибо сказали:
Аватара пользователя
innkeeper
Сообщения: 110

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение innkeeper »

А что мешает перевести 10-тичное представление литерала в другую систему счисления своей функцией?
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
30.09.2005 20:58
ИМХО не верно задачу ставишь. Еще раз объясню, информация в компе хранятся в ДВОИЧНОМ виде, все остальное всего лишь представление этой инфы, для твоей задачи достаточно преобразовать char в byte и сделать xor... То есть из символа в число...

Или я что-то не так понял?


Числа должны быть двоичными, если я не ошибаюсь.
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

powerfox писал(а):
30.09.2005 21:12

Код: Выделить всё


#include<iostream>
int main()
{
        char q;
        char c1 = 'X';
        char c2 = 'W';
        q = c1 ^ c2;
        std::cout<< q;
}

Результат:

Код: Выделить всё

[fox@localhost C++]$ ./a.out
[fox@localhost C++]$

А ты уверен что получится печатаемый символ?
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

innkeeper писал(а):
30.09.2005 21:17
А что мешает перевести 10-тичное представление литерала в другую систему счисления своей функцией?

Это как?
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

Блин, или никто не читает, а только пишут?

Ему достаточно из символа в число....

ибо и шестнадцеричное, и десятичное, и двоичное число состоит из одного количества единиц и нулей (биты называются) все остальное вопрос представления...

а xor производиться с БИТАМИ а не символами которые рисуют это число на экране....
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
30.09.2005 21:22
powerfox писал(а):
30.09.2005 21:12

А ты уверен что получится печатаемый символ?

Действительно, непеч. символ.

Код: Выделить всё

#include<iostream>
int main()
{
        char q;
        char c1 = 'X';
        char c2 = 'W';
        q = c1 ^ c2;
        q = q ^ c2;
        std::cout<< q;
}

Получается 'X' - верно! Но это должно быть программой шифрования - не в невидимый же текст должно переходить!

У Страуструпа есть интересное упражнение - только не пойму метод шифрования:
Программа читает из cin и записывает в cout, кодом соответствующему 'c' будет c^ket[i], где key - строка, переданная в качестве аргумента ком. стр. Программа циклически перебирает символы из key, пока есть ввод.
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

Блин, ты "нехороший" чайник, надоело уже .... :(
возьми и погляди какие символы получатся, по любому справочнику ASCII а потом решай каким макаром их отображать....
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение madskull »

powerfox: уж прости за занудность, но сперва изучи и пойми двоичную логику, принципы представления информации, тогда все эти вопросы (которые ты даже сформулировать не можешь из-за незнания предмета) пропадут сами собой.
To Jan2ry: умные книг лучше, чем google, а умные люди ещё круче.

Так то оно так, но , например, у нас в технаре эту тему пережевывали месяца два-три, если не ошибаюсь. А ты хочешь, чтоб тебе просто вот прямо здесь прямо сейчас на пальцах объяснили.
(Я бы и рад объяснить, но это уже на уровне рефлексов - все понимаю, но сказать не могу.)

Так что, бери книгу - и в путь :)
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

madskull писал(а):
30.09.2005 21:39
powerfox: уж прости за занудность, но сперва изучи и пойми двоичную логику, принципы представления информации, тогда все эти вопросы (которые ты даже сформулировать не можешь из-за незнания предмета) пропадут сами собой.

To Jan2ry: умные книг лучше, чем google, а умные люди ещё круче.

Так то оно так, но , например, у нас в технаре эту тему пережевывали месяца два-три, если не ошибаюсь. А ты хочешь, чтоб тебе просто вот прямо здесь прямо сейчас на пальцах объяснили.
(Я бы и рад объяснить, но это уже на уровне рефлексов - все понимаю, но сказать не могу.)

Так что, бери книгу - и в путь :)


Спасибо всем! Madscull - Наоборот - приятный человек на форуме. А что мне почитать? Страуструпа несовсем хватает. Прошу не отправлять в раздел книги! Там всего столько понаписали, что не разобрать. Что мне почитать вмете с Страуструпом, ведь там нет того, о чём я спрашивал. А так я всё понимаю, кроме этого, на этом и тормознулся. :wacko:
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

Для понимания именно таких вещей, лучше всего учебник по асму, и то только первые главы.
Вот теорию чисел они там объясняют лучше чем в учебниках языков высокого уровня... IMHO
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
30.09.2005 23:04
Для понимания именно таких вещей, лучше всего учебник по асму, и то только первые главы.
Вот теорию чисел они там объясняют лучше чем в учебниках языков высокого уровня... IMHO

Что такое Асм? Теория чисел - я то понимаю, что да как, а вот как в С++
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

У меня складывается впечатление, что это кто-то из местных завсегдатаев решил поприкалываться :) И извести всех своим нежеланием учиться :)

Асм - это ассемблер, наверно самый низкоуровневый язык програмирования, кроме него ближе всего к железу только машинные коды.... да и то, эт как посмотреть... они то и являются именно тем, с чем работают чипы...
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
01.10.2005 19:12
У меня складывается впечатление, что это кто-то из местных завсегдатаев решил поприкалываться :) И извести всех своим нежеланием учиться :)

Асм - это ассемблер, наверно самый низкоуровневый язык програмирования, кроме него ближе всего к железу только машинные коды.... да и то, эт как посмотреть... они то и являются именно тем, с чем работают чипы...

Что такое ассемблер я то знаю(слышал :wacko: ), а вот сокращение впервые вижу. То есть, если я хочу нормально писать на С++ я должен почитать о ассемблере? В электронном виде у Вас нет(ссылки или на мыло).
Сейчас смотрел книгу по Qt3 - ради прикола перепечатал "Hello Qt!" - непруха, не хочет компайлится! g++ всавляет include, но вот о том, что в коде не знает: "Не определено".
Спасибо сказали:
Аватара пользователя
FreeNUX
Сообщения: 185
Статус: с сириуса
ОС: FreeBSD 6.2

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение FreeNUX »

2powerfox:
http://forum.vingrad.ru/index.php?showtopic=33812 - ссылки на книги в эл. варианте по ассемблеру.
http://wasm.ru/article.php?article=1022001 - статья "Введение в машинный код".
Аркона – лишь тихие воды,
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение t.t »

как представить в двоичном и шетнадцатиричном виде?
Ну нафлудили... А просто ответить?

Код: Выделить всё

char c='c';
printf("dec=%d\nhex=%x\nbin=%b\n", c, c, c);

:)
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Jan2ary »

powerfox писал(а):
01.10.2005 19:45
Что такое ассемблер я то знаю(слышал :wacko: ), а вот сокращение впервые вижу. То есть, если я хочу нормально писать на С++ я должен почитать о ассемблере?


Это уже привычные фразы, типа: "Двоичную логику я знаю, а как сделать xor?"
Откуда такое нежелание учиться? Даже терпеливый Nab уже ворчать начал.
А знание ассемблера только на пользу, я операции с указателями понял только после того, как немного разобрался с ассемблером. Написать пару простых программок достаточно, чтобы разобраться с основами адресации, а это и есть указатели.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

t.t писал(а):
01.10.2005 23:38
как представить в двоичном и шетнадцатиричном виде?
Ну нафлудили... А просто ответить?

Код: Выделить всё

char c='c';
printf("dec=%d\nhex=%x\nbin=%b\n", c, c, c);

:)

Блин, и шо ж ты делаешь, окаянный? :) Ты нафига ему все на тарелочке выложил?
Он же УЧИТЬСЯ не хочет. За то время что мы здесь флудим, запросто можно было все почитать и разобраться самому. А он сидит и ждет ответа.
Тока потом не жалуйся, когда он будет по любому пустяку, по три топика подымать....
А потом скопировав готовые рецепты, без правки, подымать флейм что советуют не рабочее...

Jan2ary писал(а):
02.10.2005 09:54
powerfox писал(а):
01.10.2005 19:45

Что такое ассемблер я то знаю(слышал :wacko: ), а вот сокращение впервые вижу. То есть, если я хочу нормально писать на С++ я должен почитать о ассемблере?


Это уже привычные фразы, типа: "Двоичную логику я знаю, а как сделать xor?"
Откуда такое нежелание учиться? Даже терпеливый Nab уже ворчать начал.
А знание ассемблера только на пользу, я операции с указателями понял только после того, как немного разобрался с ассемблером. Написать пару простых программок достаточно, чтобы разобраться с основами адресации, а это и есть указатели.


:) Спасибо за поддержку.
Вообще то этот вопрос вообще к компьютеру малое отношение имеет :) Чистая математика.
Ну как скажите число можно "перевести"? Число оно и в африке число:) к примеру количество пальцев на руке, в какой-бы системе не представлял, их не станет больше или меньше. А оттого что ты напишешь у меня 101b палец, их не станет больше :) Это всего лишь способ представления и удобства исчисления: компу в двоичке, нам в шестнадцеричке, а ему в десятичке :) А символ - эт или какой придумали в ASCII или какой сам нарисуешь.... Разницы нет, при сложении все одно получиться.

Посему, если асм не поможет, то учебник математики за 5 класс, и вперед :)
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение powerfox »

Nab писал(а):
02.10.2005 13:30
:) Спасибо за поддержку.
Вообще то этот вопрос вообще к компьютеру малое отношение имеет :) Чистая математика.
Ну как скажите число можно "перевести"? Число оно и в африке число:) к примеру количество пальцев на руке, в какой-бы системе не представлял, их не станет больше или меньше. А оттого что ты напишешь у меня 101b палец, их не станет больше :) Это всего лишь способ представления и удобства исчисления: компу в двоичке, нам в шестнадцеричке, а ему в десятичке :) А символ - эт или какой придумали в ASCII или какой сам нарисуешь.... Разницы нет, при сложении все одно получиться.

Посему, если асм не поможет, то учебник математики за 5 класс, и вперед :)

Я понимаю, что надо не переделать число, а представить в другом виде, и в школе(на бумаге) заставляли туда-сюда гонять числа. Ечебник по математике мне больше нравится по 11 классу :D - по нему вопросов никаких. Порекомендуйте книгу по asm'у - в других топиках слишком много всего - не выбрать. FreeNUX - хороший подбор книг, но что качать(на русском)?
Спасибо сказали:
Nab
Сообщения: 257

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Nab »

Блин,
Читал и плакал,
Плакал и писал (с) п.Ржевский
:wacko:
Интересно кто это над посетителями форума так прикалывается?
:P
Я понимаю, что надо не переделать число, а представить в другом виде, и в школе(на бумаге) заставляли туда-сюда гонять числа. Ечебник по математике мне больше нравится по 11 классу - по нему вопросов никаких. Порекомендуйте книгу по asm'у - в других топиках слишком много всего - не выбрать. FreeNUX - хороший подбор книг, но что качать(на русском)?

Качать ВСЕ, читать что понятно будет....
А про 11 класс, по моему это ты загнул :)

Пора закрывать топик....
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
Аватара пользователя
Marduk
Сообщения: 247

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение Marduk »

[ Arch Linux || xmonad || dzen2 ]
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: С++ и шестнадцатиричные и двоичные числа

Сообщение t.t »

Он же УЧИТЬСЯ не хочет.
Правда? :) Не заметил. Если б хотел -- уже давно за книжкой бы сходил.

Тока потом не жалуйся, когда он будет по любому пустяку, по три топика подымать....
А потом скопировав готовые рецепты, без правки, подымать флейм что советуют не рабочее...
Так чего мне-то жаловаться? Будет надоедать -- порежу ;)
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: