| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > пребразование int в char в С |
| Автор: wwwdiz 17.11.2006, 00:20 |
| Компилятор Turbo C++ Borland 3.0 и необходимо преобразовать число int в char.... поиск юзал больших результатов не принёс.... Что можете посоветовать? |
| Автор: Xenon 17.11.2006, 00:30 |
| itoa(); |
| Автор: Dray 17.11.2006, 00:38 |
| sprintf (...); |
| Автор: Xenon 17.11.2006, 00:39 |
| Dray, хорошая функция google - в стандарт ее |
| Автор: Rockie 17.11.2006, 01:30 | ||
wwwdiz, если не в строку char то imho нет смысла преобразовывать. можно выводить и int как char, просто надо учитывать что размерность char равна байту, а инта нет(переполнение char). В общем пример:
|
| Автор: archimed7592 17.11.2006, 01:33 | ||
|
| Автор: JackYF 17.11.2006, 15:48 |
| Автор: zabivator 17.11.2006, 18:46 | ||
Может я ошибаюсь, но по-моему...
|
| Автор: JackYF 17.11.2006, 18:59 |
| zabivator, ошибаешься. Не сработает. Попробуй. А потом посмотри пост archimed7592'a. |
| Автор: archimed7592 17.11.2006, 19:01 |
| zabivator, смотря какое преобразование нужно. если char как число преобразовать в int как число, то да, если же рассматривать char как символ, то нет |
| Автор: Shymep 17.11.2006, 19:03 | ||||||
Только я бы сделал
Хотя и так можно |
| Автор: JackYF 17.11.2006, 19:05 |
Нехорошо - "unsigned". Указывай уж полный тип. По существу - что изменилось? Тем более, что char - знаковый тип(по умолчанию). |
| Автор: archimed7592 17.11.2006, 19:17 |
| |
| Автор: vinter 17.11.2006, 22:02 | ||||
почему?? стандарт это держит..
зато символ интерпретируется как беззнаковое число.. |
| Автор: Shymep 18.11.2006, 02:13 | ||||
Просто, как там говорится, хороший стиль программирования |
| Автор: alpetyan 18.11.2006, 05:10 |
| Это легко можно сделать вставив маленький ассемблерный код. 1. Перевести шестнадцатеричную int в десятичную систему. 2. Разбить на пять байт для char. (можно с учетом знака) Я бы сам написал, но нет книжки по ассемблеру. примерно лист получиться. |
| Автор: alpetyan 18.11.2006, 11:45 |
| А чего смешного? Ну не лист два три. Ассемблер я учил немного.( Юрова ) Сам переводил в нем двойное слово в аски. (только в шеснадцатеричном виде) Не помню я уже ассемблер. (а качать книгу: связь плохая) С десятичным видом там вроде даже операции перевода есть. по мойму это даже все азы. Я же не хотел сказать, что загнать два байта в один. А создать строку из пяти байт типа char. Но плюс анализ знака. Может я вопрос не понял? |
| Автор: vinter 18.11.2006, 12:03 | ||
| смешно во-первых то ,что нафиг здесь асм не нужен(геммор лишний) а во-вторых
короче решение ты очень оригинальное предложил |
| Автор: alpetyan 18.11.2006, 12:23 |
| Понял, молчу. |
| Автор: JackYF 20.11.2006, 14:10 | ||
Да неужто?
chVar у меня что, беззнаковым, значит, будет? |
| Автор: vinter 20.11.2006, 16:00 | ||
это тут причем?? таблица ASCII от 0 дл 255 - я про это говорил.. |
| Автор: JackYF 20.11.2006, 16:22 |
Тогда ясно... Но все равно, при чем тут таблица ASCII к беззнаковости чего-либо? Самих кодов? Символ ( char ) не интерпретируется как беззнаковое число. Он знаковым был, знаковым и остается... Добавлено @ 16:23 Ладно... все... подвопрос закрываем, а то оффтопик начинается. |