Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конвертирование String в char, HELP!!!! 
V
    Опции темы
Anikmar
Дата 7.4.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  7.4.2009,  11:32 Найти цитируемый пост)
хотя не, я всё-равно не понял, почему ошибка будет. Произойдёт переполнение переменной и в неё запишется остаток от деления на 128. как он выдет за границы массива? 

Он расширит знак и преобразует в нечто FFFFFFFFFFFFFFE3
PM MAIL ICQ   Вверх
zim22
Дата 7.4.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Anikmar @  7.4.2009,  12:51 Найти цитируемый пост)
Он расширит знак и преобразует в нечто FFFFFFFFFFFFFFE3

Код

char c = -129;

посмотрел в дебагере. с = 127 стало
ничего не расширил...


--------------------
PM MAIL   Вверх
xvr
Дата 7.4.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(zim22 @ 7.4.2009,  13:03)
Цитата(Anikmar @  7.4.2009,  12:51 Найти цитируемый пост)
Он расширит знак и преобразует в нечто FFFFFFFFFFFFFFE3

Код

char c = -129;

посмотрел в дебагере. с = 127 стало
ничего не расширил...

itoa принимает int. Посмотри в дебагере:
Код

signed char a='А';
int b=a;
char buf[32];
itoa(b,buf,16);
Чему будет равно b, и что запишется в buf

PM MAIL   Вверх
zim22
Дата 7.4.2009, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(xvr @  7.4.2009,  13:24 Найти цитируемый пост)
Чему будет равно b, и что запишется в buf

b = -16, buf =  "ffffffc0" smile


--------------------
PM MAIL   Вверх
Anikmar
Дата 7.4.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  7.4.2009,  13:03 Найти цитируемый пост)
char c = -129;


как такое вообще скомпилировалось.
диапазон char -128 + 127 на сколько я помню
PM MAIL ICQ   Вверх
zim22
Дата 7.4.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Anikmar @  7.4.2009,  16:55 Найти цитируемый пост)
диапазон char -128 + 127 на сколько я помню

да, правильно. и если число вне диапазона - то есть определённые правила, по которым оно обрезается чтобы влезть в диапазон. если интересно - я их напишу.



--------------------
PM MAIL   Вверх
Anikmar
Дата 7.4.2009, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  7.4.2009,  20:18 Найти цитируемый пост)
если интересно - я их напишу.

Да не особо, если честно. Я просто так не делаю  smile 
PM MAIL ICQ   Вверх
zim22
Дата 7.4.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Anikmar @  7.4.2009,  20:54 Найти цитируемый пост)
Да не особо, если честно. Я просто так не делаю  

а вообще я так и не понял по какому такому беспределу два разных числа имеют одинаковое битовое представление...
(хотя нет, понял, из-за этих самых преобразований. 256-150=106)

Код
#include <iostream>
#include <bitset>

int main()
{
  signed char c1 = -150;
  unsigned char c2 = 106;

  std::bitset<8> b1(c1);
  std::bitset<8> b2(c2); // b1 == b2

  std::cout << b1 << std::endl;
  std::cout << b2 << std::endl;
    
  return 0;
}




Это сообщение отредактировал(а) zim22 - 7.4.2009, 21:15


--------------------
PM MAIL   Вверх
GoldFinch
Дата 7.4.2009, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



жесть, собрались программисты и обсуждают как числа в компьютере хранятся
стыдно должно быть таких азов не знать =\
PM MAIL ICQ   Вверх
zim22
Дата 7.4.2009, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GoldFinch @  7.4.2009,  21:17 Найти цитируемый пост)
стыдно должно быть таких азов не знать =\

стыдно продолжать не знать эти азы


--------------------
PM MAIL   Вверх
Anikmar
Дата 7.4.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



 smile 
Цитата(GoldFinch @  7.4.2009,  21:17 Найти цитируемый пост)
жесть, собрались программисты и обсуждают как числа в компьютере хранятся
стыдно должно быть таких азов не знать =\ 


Из разряда "Пришел, увидел, нахамил"  smile 
PM MAIL ICQ   Вверх
Rififi
Дата 7.4.2009, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



GoldFinch
стыдно не не знать, стыдно не хотеть узнать.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1136 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.