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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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.RU
 
Регистрация: 27.07.2006
Сообщений: 659
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
EVGENIY1962 на пути к лучшему
По умолчанию

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

Сообщение от EVGENIY1962
какой длины ... переменная инт,вероятно она 8бит.
А что, все 8-битные переменные хранят значение 3200? Или логика какая-то иная? Нельзя пояснить?
tempora вне форума  
Непрочитано 24.12.2007, 20:57  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от ctefan
Возможно в выражении x=(int)c*10+Y,число
10 это 100.
О! Вот это предположение все объясняет. Согласен.
tempora вне форума  
Непрочитано 24.12.2007, 23:33  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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 код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATmega 8 Помогите разобраться !!! snakesoft Микроконтроллеры, АЦП, память и т.д 41 07.12.2008 20:48
Помогите разобраться stLex Микроконтроллеры, АЦП, память и т.д 2 06.04.2008 21:00
[Решено] Помогите разобраться. didik-dog Отвлекитесь, эмбеддеры! 5 02.09.2007 21:09
Помогите разобраться Mihail-1 Информация по радиокомпонентам 5 02.03.2007 00:13
Помогите разобраться Skt Микроконтроллеры, АЦП, память и т.д 7 26.08.2005 08:23


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


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