Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт окт 28, 2025 14:37:04

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7702 ]    , , , , 5, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб дек 11, 2010 16:59:48 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
Вы либо просили не то, что хотели
T0lik писал(а):
Если c!=A то нужно чтобы результат был 0, если c=A то результат должен быть A
либо нашли не то, что хотели.

A ^ B даст 0, если A == B и кашу, если A != B.

Это просто побитовое сравнение, в каждом бите 0 при совпадении соответствующих битов, 1 при несовпадении.

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн дек 13, 2010 17:39:51 
Встал на лапы

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Чт дек 09, 2010 12:03:08
Сообщений: 90
Откуда: Зеленоград
Рейтинг сообщения: 0
всем мяу!

напишите пожалуйста полный исходник на С банальной программки:

pic16f84

Изображение

как взять сигнал с A0, и через B0 его выдать?

прям вот чтоб компилировать можно было и прошить, если не сложно.. помогите..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн дек 13, 2010 21:23:56 
Опытный кот
Аватар пользователя

Зарегистрирован: Вс янв 18, 2009 21:12:49
Сообщений: 703
Рейтинг сообщения: 0
V2oD2o писал(а):
...напишите пожалуйста полный исходник на С банальной программки...

Вот и выросло новое поколение...
Печально...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 01:03:10 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
Други помагайте. написал функцию вычисления абсолютного значения числа.
функция-
Код:
char abs (char x)
{
if (x<0) x=x*(-1);
return x;
}
Почему
Код:
abs(-11);
возвращает 245 а не 11

_________________
KIT


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 01:32:54 
Вымогатель припоя
Аватар пользователя

Карма: 3
Рейтинг сообщений: 4
Зарегистрирован: Сб сен 20, 2008 12:12:30
Сообщений: 525
Откуда: Minsk
Рейтинг сообщения: 0
Вероятно, нужно использовать тип signed char.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 01:45:28 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
signed char - работает правильно. Спасибо.
кстати, а чем отличаются char и signed char? оба типа, это 8 битные переменные со значением от -128 до 127. чета в книжках этот вопрос не рассматривается, просто говорится что есть char и signed char, и все.....

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 07:56:35 
Встал на лапы

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Чт дек 09, 2010 12:03:08
Сообщений: 90
Откуда: Зеленоград
Рейтинг сообщения: 0
asteroid7 писал(а):
V2oD2o писал(а):
...напишите пожалуйста полный исходник на С банальной программки...

Вот и выросло новое поколение...
Печально...


считаю это не совсем адекватной реакцией.. если бы тебе нужна была помощь в delphi, php, css, ps, sql, ai, javascript, 3dmax, solidworks и т.д. и т.п. где я бы мог дать совет - я бы не стал смеятся над твоими попытками изучить что то новое и полезное.. у тебя то что я просил помощи заняло бы минуты 2-3..

печально как раз вот это..

вопрос актуален


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 09:31:40 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18419
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
O-LED писал(а):
кстати, а чем отличаются char и signed char? оба типа, это 8 битные переменные со значением от -128 до 127. чета в книжках этот вопрос не рассматривается, просто говорится что есть char и signed char, и все.....
вопрос этот рассматривается и весьма четко на нем заостряется внимание: тип char по стандарту Си - это знаковый тип, т.е. число со знаком. однако, так как нет отдельного типа для обычного байтового числа без знака, многие компиляторы отступают от стандарта и считают char беззнаковым. то есть фактически наличие или отсутствие знака у char определяется реализацией конкретного компилятора. об этом всегда напоминают, в каждом компиляторе есть опция "переключения" char-а со знаковго на беззнаковый и наоборот... короче говоря, идет путаница.

однако, есть простой способ путаницы избежать, не взирая на компиляторы: надо всегда явно указывать наличие или отсутствие знака у переменных типа char:
signed char - для знаковых
unsigned char - для беззнаковых
просто char не использовать вообще или использовать только для строковых переменных.

в этом случае можно гарантировать, что любой компилятор поймет программу правильно и однозначно. аналогичная неоднозначность имеется и с типом int и его производными - стандарт оговаривает только соотношение между int и long int (long в 2 раза длиннее int) или иные комбинации, но вот размер самого int определяется платформой: для AVR int занимает 16 бит, для компьютера - 32 бита, есть и варианты в 64 бита... таким образом, путаница и проблемы могут быть и тут...

в частности, более продвинутые стандарты Си, например, С99, уже вводит и рекомендует использовать вместо неоднозначных типов другие:
uint8_t - беззнаковое 8-битное число
int8_t - 8-битное со знаком число
uint16_t - 16-битное без знака
int16_t - 16-битное со знаком
и т.д.

использование этих типов совместно с компиляторами, поддерживающими С99 гарантирует, что переменная будет иметь именно ту разрядность, что указано - никаких проблем с переносимостью!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 12:01:49 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
ARV Спасибо. Если вы не против, я еще немного "потуплю". Вы пишите
Цитата:
тип char по стандарту Си - это знаковый тип, т.е. число со знаком.
а потом
Цитата:
signed char - для знаковых
так в чем разница? оба типа - знаковые 8битные целочисленные переменные.

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 12:05:43 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19892
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Разница в "умолчаниях". По умолчанию тип char (также как и int) знаковый, но можно это принудительно указать компилятору: signed char.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 12:37:21 
Вымогатель припоя
Аватар пользователя

Карма: 3
Рейтинг сообщений: 4
Зарегистрирован: Сб сен 20, 2008 12:12:30
Сообщений: 525
Откуда: Minsk
Рейтинг сообщения: 0
O-LED писал(а):
так в чем разница? оба типа - знаковые 8битные целочисленные переменные.


Это зависит от реализации компилятора. Например, в IAR C тип char по умолчанию беззнаковый. Чтобы сделать его знаковым, нужно изменить настройки компилятора:


Вложения:
Char.gif [15.86 KiB]
Скачиваний: 684
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 12:56:58 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
понятно. значит просто буду ВСЕГДА явно указывать signed или unsigned для переменных.

зы. как думаете, стоит купить http://oz.by/books/more10162722.html?cl ... id=4368282 ?

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 13:08:48 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19892
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Цена: 70 122 руб.
:shock:

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 13:19:42 
Опытный кот

Карма: 5
Рейтинг сообщений: 0
Зарегистрирован: Вс янв 17, 2010 15:32:19
Сообщений: 703
Откуда: Курган
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Gudd-Head писал(а):
Цитата:
Цена: 70 122 руб.
:shock:

поди в белорусских рублях?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 13:25:57 
Вымогатель припоя
Аватар пользователя

Карма: 3
Рейтинг сообщений: 4
Зарегистрирован: Сб сен 20, 2008 12:12:30
Сообщений: 525
Откуда: Minsk
Рейтинг сообщения: 0
O-LED писал(а):
понятно. значит просто буду ВСЕГДА явно указывать signed или unsigned для переменных.


Да, так вернее будет. Но можно просто узнать про типы своего компилятора. А то можно далеко зайти. Согласно правилам MISRA, базовые типа char, int, short, long, float, double вообще не должны использоваться. Вместо них для определенного компилятора директивами typedef должны быть определены и использованы имена типов эквивалентной длины. Например, UI_8, SI_16 и т.д. Но жить по таким правилам скучно, нет огонька, задора, ночей отладки!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 13:26:25 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19892
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
lix писал(а):
поди в белорусских рублях?

Уффф... наверняка :)))

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 21:51:06 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
Согласен со всем текстом, кроме маленького уточнения:
ARV писал(а):
тип char по стандарту Си - это знаковый тип, т.е. число со знаком.
В отличие от int, short int, long int, которые бывают только знаковые или беззнаковые, типов char аж три
Цитата:
There are three character types, designated as char, signed char, and unsigned char.
От типа char требуется только то, чтобы в него влазили все символы из набора целевой машины, при этом базовый набор символов, прописанный как обязаельный в стандарте языка С — должен представяться положительным значением, остальные — как удобно.
Цитата:
An object declared as type char is large enough to store any member of the basic execution character set. If a member of the required source character set enumerated in $2.2.1 is stored in a char object, its value is guaranteed to be positive. If other quantities are stored in a char object, the behavior is implementation-defined: the values are treated as either signed or nonnegative integers.
И только потом вводится знаковый char вместе с остальными знаковыми тиами
Цитата:
There are four signed integer types, designated as signed char, short int, int, and long int.
An object declared as type signed char occupies the same amount of storage as a ``plain'' char object.
и беззнаковый char вместе с остальными беззнаковыми типами
Цитата:
For each of the signed integer types, there is a corresponding unsigned integer type that uses the same amount of storage (including sign information) and has the same alignment requirements.
Таким образом, компиляторы не
ARV писал(а):
отступают от стандарта и считают char беззнаковым. то есть фактически наличие или отсутствие знака у char определяется реализацией конкретного компилятора
а пользуются явным разрешением на implementation-defined знаковость "просто char".

p.s. Цитаты из стандрта С 1989-го года, в C99 то же самое.

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 22:10:09 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
Цитата:
В отличие от int, short int, long int, которые бывают только знаковые или беззнаковые, типов char аж три

ага. переменные int прекрасно работали беззнаковыми переменными без всяких signed , а вот переменные char в кодевижн требуют обязателно signed

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 22:18:16 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18419
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
O-LED писал(а):
ага. переменные int прекрасно работали беззнаковыми переменными без всяких signed , а вот переменные char в кодевижн требуют обязателно signed
int прекрасно работали беззнаковыми, пока не было попытки записать в них беззнаковое число 50000 например :) вот тут-то они бы и подкачали - стали знаковыми :)))

а в настройках CodeVision вы поковыряйтесь - где-то наверняка галочку можно снять/поставить, и char станет signed...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 14, 2010 22:37:13 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
ARV Нет уж. лучше я привыкну явно определять signed и unsigned чем снова в будущем буду ловить "разновидность" подхода к этому вопросу компиляторов. :kill:

_________________
KIT


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7702 ]    , , , , 5, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y