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

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

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

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

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

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

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы

помогите разобраться ошибка в книге Шпак

Непрочитано 22.12.2007, 20:06  
ctefan
Временная регистрация
 
Регистрация: 15.06.2005
Сообщений: 86
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
ctefan на пути к лучшему
По умолчанию помогите разобраться ошибка в книге Шпак

Хочу научиться писать на си ,купил книгу Ю.А.Шпак
"Программирование на языке си для avr и pic микроконтроллеров" и вот что-то сообразить не могу
приведение типов ;
int X
int Y=200
char C=30
X=(int)C*10+Y //переменная С приведена к типу int
результат выражения равен 3200,что это очепятка или
я что-то не понимаю , ведь 300+200=500
ctefan вне форума  
Непрочитано 22.12.2007, 20:35  
pfgx
Временная регистрация
 
Регистрация: 18.10.2007
Сообщений: 81
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pfgx на пути к лучшему
По умолчанию

Может и опечатка.
pfgx вне форума  
Непрочитано 24.12.2007, 17:24  
EKuzmich
Прописка
 
Регистрация: 07.08.2005
Сообщений: 178
Сказал спасибо: 16
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EKuzmich на пути к лучшему
По умолчанию

Да наверное опечатка щас проверил в отладчике выдало 500
EKuzmich вне форума  
Непрочитано 24.12.2007, 18:22  
EVGENIY1962
Гражданин KAZUS.RUN
 
Регистрация: 27.07.2006
Сообщений: 658
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
EVGENIY1962 на пути к лучшему
По умолчанию

Проверьте какой длины у вас переменная инт,вероятно она 8бит.
EVGENIY1962 вне форума  
Непрочитано 24.12.2007, 18:26  
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от EVGENIY1962
какой длины ... переменная инт,вероятно она 8бит.
А что, все 8-битные переменные хранят значение 3200? Или логика какая-то иная? Нельзя пояснить?
tempora вне форума  
Непрочитано 24.12.2007, 20:57  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от tempora
Сообщение от EVGENIY1962
какой длины ... переменная инт,вероятно она 8бит.
А что, все 8-битные переменные хранят значение 3200? Или логика какая-то иная? Нельзя пояснить?
В книге Шпак описывает CCS .
У CCS int может быть от 1 до 32 бит.
А char unsigned int8.

Насчет опечаток... их в книге полно.
dosikus вне форума  
Непрочитано 24.12.2007, 21:13  
ctefan
Временная регистрация
 
Регистрация: 15.06.2005
Сообщений: 86
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
ctefan на пути к лучшему
По умолчанию

В книге Шпак int целое число ,разряднось 16 бит
может принимать значение от -32768 до 32767,
32 битные значения могут принимать типы данных;float-
вещественное число ,
long int-длинное целое,unsigned long int-беззнаковое
длинное целое.Возможно в выражении x=(int)c*10+Y,число
10 это 100.
ctefan вне форума  
Непрочитано 24.12.2007, 22:56  
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от ctefan
Возможно в выражении x=(int)c*10+Y,число
10 это 100.
О! Вот это предположение все объясняет. Согласен.
tempora вне форума  
Непрочитано 24.12.2007, 23:33  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от ctefan
В книге Шпак int целое число ,разряднось 16 бит
может принимать значение от -32768 до 32767,
32 битные значения могут принимать типы данных;float-
вещественное число ,
long int-длинное целое,unsigned long int-беззнаковое
длинное целое.Возможно в выражении x=(int)c*10+Y,число
10 это 100.
Для тебя специально..

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

dosikus вне форума  
Непрочитано 24.12.2007, 23:55  
um
Прописка
 
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
um на пути к лучшему
По умолчанию

а в msdn про float указано: 3.4E +/- 38 (7 digits)

Floating-point numbers use the IEEE (Institute of Electrical and Electronics Engineers) format. Single-precision values with float type have 4 bytes, consisting of a sign bit, an 8-bit excess-127 binary exponent, and a 23-bit mantissa. The mantissa represents a number between 1.0 and 2.0. Since the high-order bit of the mantissa is always 1, it is not stored in the number. This representation gives a range of approximately 3.4E–38 to 3.4E+38 for type float.

меньшее минимальное значение может храниться лишь в денормализованной форме, которая возможна лишь при наличии float-point регистров.
__________________
"I can wire anything directly into anything" Hubert J. Farnsworth
um вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с симисторами J64FE Источники питания и свет 87 09.02.2012 18:21
[Решено] Помогите разобраться barbuss Proteus 2 26.10.2010 23:45
Помогите разобраться ,АЦП Тину 13, что то не так... Botan Микроконтроллеры, АЦП, память и т.д 2 14.09.2010 18:31
[Решено] Помогите разобраться с генератором igor1000 Электроника средств транспорта 10 05.07.2010 12:53
Помогите разобраться с импульсными стабилизаторами Vas2 Источники питания и свет 8 07.12.2007 17:27


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.