2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Паскаль char, integer;
Сообщение26.01.2010, 04:31 
Аватара пользователя
Всегда ли верно утверждение в стандарте паскаля
char:=integer правильный оператор присваивания.

Я пробовал написать такое присвоение в ТурбоПаскале и получил ошибку "несоответствие типов"...

 
 
 
 Re: Паскаль char, integer;
Сообщение26.01.2010, 05:09 
Пожалуйста, формулируйте, вопросы понятнее.

А присваивание численного выражения к переменной типа char напрямую в Паскале делать нельзя. Для преобразования пользуйтесь функциями chr() и ord().
Первая преобразует число в символ с таким кодом, а вторая - наоборот.
На всякий случай, цифра 0 - это не chr(0), а, скорее всего, chr(48) (не знаю есть ли реализации Паскаля с не ASCII кодировкой).

 
 
 
 Re: Паскаль char, integer;
Сообщение26.01.2010, 09:20 
venco в сообщении #283602 писал(а):
Для преобразования пользуйтесь функциями chr() и ord().

Так, наверное, мобильнее; но приятнее для глаза просто

Код:
var  c: char;
     i: integer;
. . . . . . . . . . . . . .
  byte(c):=i;    {или}    c:=char(i);
  i:=byte(c);

 
 
 
 Re: Паскаль char, integer;
Сообщение03.02.2010, 19:40 
Аватара пользователя
Если бы вы использовали C (и некоторые другие сиподобные языки), то этот фокус прошел бы. В си char - целочисленный тип. Но и в нем "0" это не 0, а код этого символа. Паскаль более строгий язык. Все преобразования типов явные.

ЗЫ И это плюс, а не минус.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group