|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.12.2013, 09:23 | #1 |
Форумчанин
Регистрация: 16.09.2013
Сообщений: 149
|
Арифметические операции при разных типах данных(Pascal+asm)
Почему, если ввести w=22222, то z будет
в паскале: 45574 в асме: 111110 Файл MULwordp.pas Код:
Файл MULword.asm Код:
Последний раз редактировалось zla9_kolu4ka; 30.12.2013 в 09:26. |
30.12.2013, 09:33 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
5*w даст Word со всеми вытекающими последствиями и только после этого поместится в LongInt
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
30.12.2013, 09:48 | #3 |
Форумчанин
Регистрация: 16.09.2013
Сообщений: 149
|
111110-65535=45575, а в Паскале 45574
|
30.12.2013, 09:57 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Насчет вытекающих последствий не поняли. 5*w даст 111110, но поскольку w типа Word, то и результат выражения word. Вот хвост от 111110 и останется. И именно этот хвост и поместится в z. И не важно, что z типа longint. Тип результата выражения справа от оператора присваивания не учитывает тип переменной слева
22222*5=111110=$1B206 -> $B206=45574 111110-65536=45574
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 30.12.2013 в 10:16. |
30.12.2013, 10:05 | #5 | |
Форумчанин
Регистрация: 16.09.2013
Сообщений: 149
|
Цитата:
|
|
30.12.2013, 10:06 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Это вы его не правильно посчитали, а паскаль молоток, верно поступил
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Арифметические операции | nikita-92 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 11.04.2013 00:08 |
Арифметические операции. | Saintpatrick38 | Помощь студентам | 2 | 05.04.2013 09:04 |
Арифметические операции | swillrocker | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 02.10.2012 21:31 |
Занесенение данных в БД (Delphi). Арифметические операции с часами (Delphi)) | Andrey_RTF | Помощь студентам | 2 | 29.05.2012 17:20 |