Вниз
Скачать: CL | DM;

a+b   Найти похожие ветки 

← →
Dbn   (2006-08-30 11:21) [0]

Такой вопрос. Почему в Delphi, при создании console application, нижеприведённая программа выдаст правильный ответ,
а в Turbo Pascale, ответ будет совсем не тот, даже с отрицательным знаком? Известно что a,b - переменные типа integer,
поэтому результат не может поместиться, а в delphi всё нормально.

var
    a,b: integer;
begin
    a:=30101;
    b:=29752;
    writeln(a+b);
end.


← →
tButton ©   (2006-08-30 11:25) [1]

в дельфи integer 8 байт
в паскале - 4
выход за границы
у тебя получается 1 в 15м бите и вуаля "минус"


← →
Ega23 ©   (2006-08-30 11:25) [2]

Integer в TP имеет разверность 2 байта, в Delphi начиная с 2 - 4 байта.
Дальше - читать про особенности работы с отрицательными числами.
Примечание: если объявишь a,b:word - получишь интересный результат.
Вот и весь ответ.


← →
Плохиш ©   (2006-08-30 11:25) [3]

В турбопаскале integer 16 бит.


← →
Ega23 ©   (2006-08-30 11:26) [4]

разверность=размерность


← →
Алхимик ©   (2006-08-30 11:26) [5]

Тип integer в Delphi:

Type     Range                     Format
Integer  -2147483648..2147483647   signed 32-bit


← →
tButton ©   (2006-08-30 11:26) [6]

оп. да =) перепутал малясь =)


← →
Palladin ©   (2006-08-30 11:30) [7]

Потому что в старом паскале размер Integer 16 бит (в отличии от Delphi где он 32битный), то бишь Word со знаком, соответственно при сложении этих двух чисел и получается отрицательное...


← →
homm ©   (2006-08-30 11:56) [8]


> оп. да =) перепутал малясь =)

Не молись, когда посты пишеш :)


← →
tButton ©   (2006-08-30 11:59) [9]


> homm ©   (30.08.06 11:56) [8]

просто последнюю неделю среднесуточный uptime  ~75-80% =)
плюс сегодня за день пропустил через мозг ~250Кб текста =)
не ну я же про 15й бит правильно вспомнил =)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
2-1156596558
angelika
2006-08-26 16:49
2006.09.17
горячие клавиши (ctrl+key)


15-1156914011
begin...end
2006-08-30 09:00
2006.09.17
30 августа. С Днём рождения!


15-1156416541
Layner
2006-08-24 14:49
2006.09.17
А пользуются ли фискальными регистраторами в Европе? США?


8-1141397144
Аноним
2006-03-03 17:45
2006.09.17
Работа со звуковой картой


5-1139504418
max1000
2006-02-09 20:00
2006.09.17
Не стандартная TPanel




   Наверх