|
|
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Dima TДумаешь еще существуют? Разрабатывали аналоговые процы (если так можно назвать) в период рассвета СССР, в 50-60е, насколько историю знаю - тогда и забросили. Сразу вспомнил: электромеханический аналоговый счетно-решающий прибор для расчета упреждения цели на Шилках ЗСУ-23-4М. Легко переносится четырьмя членами экипажа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 20:16 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Dima TWhite OwlТы не прав. Существуют процессоры основанные на не двоичных системах счисления. В них один бит (один физический провод) может содержать ток разного номинала, каждый номинал соответствует разному числу внутри системы счисления. Думаешь еще существуют? Разрабатывали аналоговые процы (если так можно назвать) в период рассвета СССР, в 50-60е, насколько историю знаю - тогда и забросили. Тогда же были разработки компов с троичной логикой (один вроде даже не сдан на драгметаллы), но потом занялись пародированием разработок IBM и все стало окончательно двоичным. Поправь если ошибаюсь. Я не думаю что они существуют, я знаю что они существуют. Но из лабораторий пока не выходят... Из коммерчески успешных проектов не знаю ни одного. Но то что их нету сейчас, не значит что их не будет никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 00:37 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
"И тут Остапа понесло" :D Ну ясно, я как чувствовал, что вы спорить все начнёте, а ответа я не получу ;) Ладно. В любом случае узнал что-то новое, это хорошо. Всем спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 04:31 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сегодня мне нужно было считать несколько значений по маске. Сначала я хотел нарисовать для этого блоксхему, а потому подумал, что с большой долей вероятности, для этого можно использовать функцию из стандартной библиотеки ввода вывода stdio.h Код: plaintext 1. Я думаю, что она вам всем знакома. Ранее я ей пользовался, но не углублялся в детали её работы. Решил её изучить, и для этого конечно открыл стандарт. У меня возникло несколько вопросов, подскажите пожалуйста. 1. ©ISO/IEC ISO/IEC 9899:201x 7.21.6.2 21. The fscanf function reads input from the stream pointed to by stream, under control of the string pointed to by format that specifies the admissible input sequences and how they are to be converted for assignment, using subsequent arguments as pointers to the objects to receive the converted input. If there are insufficient arguments for the format, the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are otherwise ignored. Не очень понял перевод того, что выделил красным. Я понял так: "Если строка формата полностью просмотрена, но не все аргументы функции проинициализированы(ей), оставшиеся аргументы вычисляются, но игнорируются" Концовка моего перевода мне непонятна. 2.©ISO/IEC ISO/IEC 9899:201xThe format shall be a multibyte character sequence, beginning and ending in its initial shift state. Что такое shift state ? 3.ISO/IEC 9899:201xA directive composed of white-space character(s) is executed by reading input up to the first non-white-space character (which remains unread), or until no more characters can be read. The directive nev er fails. То есть пробелы в массиве const char* restrict format не играют никакой роли(только если они не стоят после %) ? 4. ISO/IEC 9899:201xAn input item is read from the stream, unless the specification includes an n specifier Как только встретит %n произойдёт переход к началу следующей строки, и считывание будет идти с неё? 5. ISO/IEC 9899:201xThe length modifiers and their meanings are: hh Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to signed char or unsigned char. h Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to short int or unsigned short int. l (ell) Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to long int or unsigned long int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to an argument with type pointer to double; or that a following c, s, or [ conversion specifier applies to an argument with type pointer to wchar_t. ll (ell-ell) Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to long long int or unsigned long long int. Это про что? Не понял. Сначала подумал что дело идёт о максимальной длине считывания, но не уверен. 6. Вот такой пример input = "2++3=5" Так считываю: Код: plaintext 1. все ок.(хотя я не хочу чтобы тут было все ок) А вот так input = "2++3==5", считывание не происходит корректно(хотя n=4,а не 2 как нужно). Почему так ? 7. Пользуетесь ли вы в своей работе этой функцией ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:20 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Прошу прощение, весь код, с типами данных Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:22 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercuryРешил её изучить, и для этого конечно открыл стандарт.для изучения функций стандартной библиотеки полезней читать хэлп к используемому компилятору, а не стандарт. Потому что разработчики компилятора могут от стандарта отойти по каким либо причинам. Стандарт говорит о том, как должно быть, хэлп говорит как есть на самом деле. К сожалению, это не всегда одно и то же SashaMercuryПользуетесь ли вы в своей работе этой функцией ?нет. Слишком уж она требовательна к качеству входящих данных ( замечание относится ко всему семейству scanf, естественно ). Но и на С я не пишу, а в плюсах нет необходимости использовать функции из <cstdio> )) PS прошу прощения за оффтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 11:48 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercury1. ©ISO/IEC ISO/IEC 9899:201x 7.21.6.2 21. The fscanf function reads input from the stream pointed to by stream, under control of the string pointed to by format that specifies the admissible input sequences and how they are to be converted for assignment, using subsequent arguments as pointers to the objects to receive the converted input. If there are insufficient arguments for the format, the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are otherwise ignored. Не очень понял перевод того, что выделил красным. Я понял так: "Если строка формата полностью просмотрена, но не все аргументы функции проинициализированы(ей), оставшиеся аргументы вычисляются, но игнорируются" Концовка моего перевода мне непонятна. while arguments remain - переводится "пока остаются [необработанные] аргументы". SashaMercury2.©ISO/IEC ISO/IEC 9899:201xThe format shall be a multibyte character sequence, beginning and ending in its initial shift state. Что такое shift state ? Это про кодировки строк. Если символы могут занимать несколько байтов, так что интерпретация следующего байта зависит от предыдущих, то нельзя передавать в функцию часть строки вырванную из контекста. Например utf-8 - такая кодировка. SashaMercury3.ISO/IEC 9899:201xA directive composed of white-space character(s) is executed by reading input up to the first non-white-space character (which remains unread), or until no more characters can be read. The directive nev er fails. То есть пробелы в массиве const char* restrict format не играют никакой роли(только если они не стоят после %) ? Нет. См. выделенное. SashaMercury4. ISO/IEC 9899:201xAn input item is read from the stream, unless the specification includes an n specifier Как только встретит %n произойдёт переход к началу следующей строки, и считывание будет идти с неё? Читайте доку по scanf, n - в формате имеет совршенно другой смысл - задает длину в одном из аргументов. SashaMercury5. ISO/IEC 9899:201xThe length modifiers and their meanings are: hh Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to signed char or unsigned char. h Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to short int or unsigned short int. l (ell) Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to long int or unsigned long int; that a following a, A, e, E, f, F, g, or G conversion specifier applies to an argument with type pointer to double; or that a following c, s, or [ conversion specifier applies to an argument with type pointer to wchar_t. ll (ell-ell) Specifies that a following d, i, o, u, x, X, or n conversion specifier applies to an argument with type pointer to long long int or unsigned long long int. Это про что? Не понял. Сначала подумал что дело идёт о максимальной длине считывания, но не уверен. Здесь указывается тип данных куда складывается результат. short, int, long - имеют разные физические размеры. SashaMercury6. Вот такой пример input = "2++3=5" Так считываю: Код: plaintext 1. все ок.(хотя я не хочу чтобы тут было все ок) А вот так input = "2++3==5", считывание не происходит корректно(хотя n=4,а не 2 как нужно). Почему так ? %d читает число со знаком, а %c читает ровно один символ - поэтому все правильно. SashaMercury7. Пользуетесь ли вы в своей работе этой функцией ? Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 14:57 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, 1. Почему-то подумал что while в том контексте читается как but. По остальным вопросам разберусь на свежую голову. Ещё раз перечитаю и разберу. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 15:23 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercury1. Почему-то подумал что while в том контексте читается как but. Можно подумать это меняет смысл предложения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 15:42 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
C праздником вас, Сообщество :) Желаю всем здоровья. Также, надеюсь вы будете читать код, такой-же прекрасный, как "Идиот" Достоевского, интересных решений и идей в творчестве. Софья Васильевна КовалевскаяСтоит мне только коснуться математики, как я опять забуду всё на свете. PS Отмечу, что я не стал бы выделять настоящих программистов от математиков. Настоящие программисты несомненно тоже математики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2014, 16:05 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercuryPS Отмечу, что я не стал бы выделять настоящих программистов от математиков. Программирование это больше логика чем математика, я бы даже сказал что математики мало в программировании. Говорят из философов хорошие программисты получаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2014, 19:22 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНастоящие программисты несомненно тоже математики. С точки зрения математики мой текущий проект был закончен в июне. А с точки зрения программирования я до сих пор отлаживаю его. Так что позвольте не согласиться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2014, 23:51 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сегодня читал стандарт, и встретил следующее ©ISO/IEC ISO/IEC 9899:201x 6.4.2.2 Predefined identifiers6.4.2.2 Predefined identifiers Semantics 1 The identifier _ _func_ _ shall be implicitly declared by the translator as if, immediately following the opening brace of each function definition, the declaration static const char _ _func_ _[] = "function-name"; appeared, where function-name is the name of the lexically-enclosing function.72) 2 This name is encoded as if the implicit declaration had been written in the source character set and then translated into the execution character set as indicated in translation phase 5. 3 EXAMPLE Consider the code fragment: Код: plaintext 1. 2. 3. 4. 5. 6. Each time the function is called, it will print to the standard output stream: myfunc Forward references: function definitions (6.9.1). В программе это будет выглядеть вот так : Код: plaintext 1. 2. 3. 4. 5. Зачем это нужно ? С квалификаторами const и static я согласен, но зачем именно такое именование переменной ? И зачем нужно добавлять "[]" ? И не очень понял почему привели именно этот пример, это настолько актуально ? Чем так важен идентификатор(токен) _ _func_ _ ? Подскажите пожалуйста. Вот если была бы функция, вызов которой позволял выводить имя функции, предварительно не записывая его в константную статическую переменную, это было бы интересно. Правда пока не очень где это может пригодиться, но скорее всего применение найти можно было бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 05:04 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Predefined означает заранее определенный. Т.е. в данном случае определенный не в программе, а компилятором, автоматически. Поэтому SashaMercuryВ программе это будет выглядеть вот так : Код: plaintext 1. 2. 3. 4. как если бы функция выглядела так Код: plaintext 1. 2. 3. 4. 5. ЗЫ. Стыдно через почти год изучения С не знать зачем тут [] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 05:55 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky ЗЫ. Стыдно через почти год изучения С не знать зачем тут [] Смутило имя переменной, с двумя _ в начале и в конце. И более привычна такая запись Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 06:56 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Всё равно не понял зачем это нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 06:59 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
всмысле не зачем [] нужно, а зачем нужен этот механизм. И почему именно такое именование переменной __func__ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 07:08 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Всё, что начинается с двух подчёркиваний, зарезервировано стандартом под компилятороспецифичные идентификаторы. s[] — не то же самое, что *s, различия в размещении переменной в памяти и в её размере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 09:55 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
RWolfSashaMercury, s[] — не то же самое, что *s, различия в размещении переменной в памяти и в её размере. Различие в том, что Код: plaintext 1. есть определение массива на 4 элемента, s-имя массива, константа если хотите и адрес его первого элемента. Код: plaintext 1. А s1 это переменная. К ней соответственно применимы s1++,s=new_p ; etc Потому фраза выделенная красным некорректна. Или не до конца корректна, если кто придерётся. Спасибо. Эти вещи мне были понятны(и я объяснил по какой причине я ошибся) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 10:22 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
SashaMercuryвсмысле не зачем [] нужно, а зачем нужен этот механизм. для вызова деструкторов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 10:45 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
ИзопропилSashaMercuryвсмысле не зачем [] нужно, а зачем нужен этот механизм. для вызова деструкторовв С? откуда бы им там взяться, интересно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 11:25 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
egorychИзопропилпропущено... для вызова деструкторовв С? откуда бы им там взяться, интересно? там что-то про чисты С - было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 11:47 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Изопропилтам что-то про чисты С - было? Вся тема про чистый С, вообще-то, как и стандарт из которого цитата :) ИзопропилSashaMercuryзачем нужен этот механизм. для вызова деструкторов А причем деструкторы к __func__ вообще непонятно. Можете объяснить? (Предположим, что мы говорим про С++) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 13:55 |
|
||
|
INTERNATIONAL STANDARD ISO/IEC ISO/IEC 9899:201x Вопросы и комментарии
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА причем деструкторы к __func__ вообще непонятно. Можете объяснить? (Предположим, что мы говорим про С++) там два вопросв было - один насчёт [] второй насчёт идентификаторов с подчерками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2014, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38783593&tid=2018847]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 527ms |

| 0 / 0 |
