Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [General] расшифровать - DATA B,C/23*4H / 
V
    Опции темы
Elfebet
Дата 7.11.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



сабж
есть код
Код

      dimension B(22),A0(4),A1(4),A2(4),A3(4)
      DATA B,C/23*4H    /
      DATA A0/4H0   ,4H 0  ,4H  0 ,4H   0/
      DATA A1/4H1   ,4H 1  ,4H  1 ,4H   1/
      DATA A2/4H2   ,4H 2  ,4H  2 ,4H   2/
      DATA A3/4H3   ,4H 3  ,4H  3 ,4H   3/

посмотрел через дебагер и увидел что переменная С = 1.3563156E-19

каким боком это значение получилось?
что значит "23*4H", "4H0" и тп???


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
marcusmae
Дата 7.11.2008, 23:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: нет
Всего: 39



см. термин Hollerith constant

Intel Fortran Compiler Help:

Цитата

A Hollerith constant is a string of printable ASCII characters preceded by the letter H. Before the H, there must be an unsigned, nonzero default integer constant stating the number of characters in the string (including blanks and tabs).

Hollerith constants are strings of 1 to 2000 characters. They are stored as byte strings, one character per byte.

Examples

The following examples demonstrate valid and invalid Hollerith constants:

Valid    

  • 16HTODAY'S DATE IS:     
  • 1HB     
  • 4H ABC   

  
Invalid  Explanation  

  • 3HABCD   Wrong number of characters.  
  • 0H   Hollerith constants must contain at least one character.  




Это сообщение отредактировал(а) marcusmae - 7.11.2008, 23:42


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
FatalError
Дата 8.11.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 11.4.2006

Репутация: нет
Всего: 1



Мдя... Такой способ инициализации переменных с плавающей точкой - через их задание побайтно - сильно напоминает программирование на брейнфаке... Может, переменные все-таки были символьными?
PM MAIL   Вверх
Elfebet
Дата 10.11.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



Да Вы правы переменные являються символьными (но почему дебагер показывает С = 1.3563156E-19, не понятно)
Код

      dimension B(22),A0(4),A1(4),A2(4),A3(4)
      DATA B,C/23*4H    /

 в данном случае переменной С присваивается пробел, и массиву B всем 22 значениям тоже присваивается пробел

как все запущено....



--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




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


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

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