Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.01.2008, 19:48  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Дальше - Борланд 6 - та же картина

-- Прилагается рисунок: --
Реклама:
urry вне форума  
Непрочитано 29.01.2008, 20:32  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от urry
Берем крайний случай - булевые значения...
А кто сказал, что это - крайний случай? Это как раз очень неудачный пример - поскольку в сях булевы значения в чистом виде вообще отсутствуют и заменяются целыми.
Попробуй у борланда или у твоей "родной мамы" попросить присвоить float'у, скажем, строку... и если получится - смело отправляйся к психоаналитику!

P.S. Так, между прочим - ты проверял не в Сях, а в плюсах - а это две ооочень большие разницы. В плюсах возможны любые присвоения... если покажешь компилятору, как это делается.
‹center›
-- Прилагается рисунок: --
[img]nuke/users_images/29012008/6129257.gif[/img]‹/center›
tempora вне форума  
Непрочитано 29.01.2008, 20:50  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Если кому захочется припасть к первоисточнику:

Brian W. Kernighan, Dennis M. Ritchie - "The C programming language", в главе шестой описаны все разрешенные в сях преобразования типов.
tempora вне форума  
Непрочитано 29.01.2008, 21:37  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

это уже казуистика.. с какого перепугу я буду приводить строку к флоат...Клиент хочет узнать - если у него int,short char и что-то такое - в флоат превратится ? ДА
urry вне форума  
Непрочитано 29.01.2008, 22:02  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от urry
Клиент хочет узнать - ...
Клиент в сях, мягко говоря, пока не рубит, а тут на сцену выходит бывалый Urry и утверждает, что компилятор перевернет во float всё, что ему ни подсунь... клиент верит бывалому Urry, вместо того, чтобы почитать про преобразование типов, и потом дооолго трахается с многочисленными и "непонятными" ошибками в своих программах.
Сообщение от urry
строку к флоат... казуистика
Во-первых, не казуистика, а стандарт языка Си, а во-вторых - ты сам попытался (правда, весьма неудачно) рассмотреть крайний случай - вот тебе действительно крайний случай. Хотя, и в "некрайних" случаях бывают свои запреты на преобразование типов. Скажем, не всегда разрешено преобразование из float в int - ты ведь вполне можешь пользоваться таким приведением, не так ли - это же не строка...
tempora вне форума  
Непрочитано 29.01.2008, 22:25  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от tempora
Сообщение от kison, day177
Откуда float возьмется? ...результат также будет int
... таки откуда взять float?
А тебе, kison, и тебе , day177, пора перечитать избранные места из Кернигана-Ричи...
Перечитал. Ничего не нашел. Откуда взялся float в выражении приведенном мной выше? Именно в том, в котором сдвиг на 4.
И еще - может не мне перечитать хорошую книгу, а тому у кого в С есть тип "строка"?
kison вне форума  
Непрочитано 29.01.2008, 23:05  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от kison
Перечитал. Ничего не нашел.
Плохо читал.
Сообщение от kison
может не мне перечитать хорошую книгу...
Тебе, тебе - так как именно ты смотришь на определение функции (тип возвращаемого значения - float!!!) и нифига не видишь в этом месте будущего преобразования (в твоем примере - из int) во float... и именно ты, читая объявление переменной - char String[] = "ABCDEFG"; - думаешь, что String - это наименование типа (хотя это имя переменной, а тип, английским по белому, обозначен как char []):
Сообщение от kison
у кого в С есть тип "строка"?
tempora вне форума  
Непрочитано 29.01.2008, 23:18  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от tempora
Сообщение от kison
может не мне перечитать хорошую книгу...
Тебе, тебе - так как именно ты смотришь на определение функции (тип возвращаемого значения - float!!!) и нифига не видишь в этом месте будущего преобразования (в твоем примере - из int) во float... и именно ты, читая объявление переменной - char String[] = "ABCDEFG"; - думаешь, что String - это наименование типа (хотя это имя переменной):
Сообщение от kison
у кого в С есть тип "строка"?
Посмешило. Пример приведенный мной был взят из поста Day177 от Пн Янв 28, 2008 10:26 am. Там никакого определения функции нет. Однако тип результата получается все равно float. Почему бы не char? Или int? Собственно отсюда и вопрос возник.
Далее -
Сообщение от tempora
...попросить присвоить float'у, скажем, строку...
Наверно это я придумал. Я не увидел - "присвоить массив переменной типа float." Там шла речь именно о СТРОКЕ, как о каком-то типе данных. Поэтому вопрос:
Код:
uint8_t _tmp;
_tmp = x;
Корректно ли такое присвоение?
Хотя я тут подумал - я могу "присвоить float'у, скажем, строку". Очень легко
kison вне форума  
Непрочитано 29.01.2008, 23:38  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от kison
Там никакого определения функции нет.
Во-первых, определение этой функции здесь есть и даже неоднократно - вся эта ветка попросту нафарширована одним и тем же куском кода из библиотеки, в котором упоминается эта функция (или чукча не читатель, а только писатель?), а во-вторых, знающий С человек, увидев оператор return(...), не станет спрашивать "Откуда float возьмется?" (как на картинке внизу), а посмотрит тип функции, к которой относится этот return(...).
Сообщение от kison
Там шла речь именно о СТРОКЕ
Именно - не о строковом типе, а о строке.

-- Прилагается рисунок: --
tempora вне форума  
Непрочитано 30.01.2008, 00:00  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от tempora
Именно - не о строковом типе, а о строке.
Хорошо. Не вопрос. Тогда вот:
Код:
float x;
float CTPOKA;
x = CTPOKA;
Все условия выполнены? Это не о типе... Есть сомнения? Тогда о типе CTPOKA:
Код:
typedef float CTPOKA;

float x;
float y;

x = (CTPOKA)y;
Вывод - надо учиться правильно излагать свои мысли...

-- Прилагается рисунок: --
kison вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Большие отрицательные числа и АВР ua_gruzin Микроконтроллеры, АЦП, память и т.д 7 31.01.2009 11:41
Ввод/вывод дробного (десятичного) числа на семисегментник nigvil TTL и CMOS логика 27 03.01.2009 22:23
32-разрядные числа в 8-битном PIC dimmich Микроконтроллеры, АЦП, память и т.д 17 28.10.2007 04:27
преобразование числа для занесения его в регистр на PIC16F84 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 9 11.01.2007 17:47
Числа с плавающей запятой 32бит Tcom Микроконтроллеры, АЦП, память и т.д 1 01.03.2006 17:37


Часовой пояс GMT +4, время: 23:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot