преобразование типа char в long int

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

преобразование типа char в long int

Сообщение Chip_step »

Всем привет. Скажите как преобразовать тип данных char в long int?

вот пример:

Код: Выделить всё

#include <tiny2313a.h>
volatile char counter=0;

void main(void)
{

while (1)
      {
       
counter++;

if(counter>=200000){counter=0;}
      }

}




суть такова: переменную "counter" можно было бы инкрементировать до 200000.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19042
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: преобразование типа char в long int

Сообщение Starichok51 »

объявить её long int, а не char.
char - это 1 байт, не более 255.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

Re: преобразование типа char в long int

Сообщение Chip_step »

суть темы в том,
что-бы не использовать long int.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: преобразование типа char в long int

Сообщение BOB51 »

Сделать многоуровневый счетчик.
8)
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

Re: преобразование типа char в long int

Сообщение Chip_step »

Пример в студию :)
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: преобразование типа char в long int

Сообщение Reflector »

[uquote="Chip_step",url="/forum/viewtopic.php?p=3990281#p3990281"]суть темы в том,
что-бы не использовать long int.[/uquote]
Преобразование в long int не используя long int?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: преобразование типа char в long int

Сообщение BOB51 »

[uquote="Chip_step",url="/forum/viewtopic.php?p=3990311#p3990311"]Пример в студию :)[/uquote]
кольцо до 10000 (int)
кольцо до 20 (char)
8)
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

Re: преобразование типа char в long int

Сообщение Chip_step »

счетчик инкрементируешь по 10000 - 20раз? Как хранить полученое число? :shock:
Аватара пользователя
Starichok51
Модератор
Сообщения: 19042
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: преобразование типа char в long int

Сообщение Starichok51 »

это пипец ...
как хранить? ну, рассовать по карманам ...
с такими вопросами тебе НЕЛЬЗЯ заниматься программированием. твой мозг для этого не предназначен.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

Re: преобразование типа char в long int

Сообщение Chip_step »

Уважаемый, почему вы грубите здесь?
Аватара пользователя
Starichok51
Модератор
Сообщения: 19042
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: преобразование типа char в long int

Сообщение Starichok51 »

я не грублю - я констатирую факт.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Chip_step
Родился
Сообщения: 19
Зарегистрирован: Сб янв 30, 2021 16:34:46

Re: преобразование типа char в long int

Сообщение Chip_step »

Ого ты нарванный!!! Тебе что тяжело по жизни? Что ты здесь на людей бросаешься? Кто тебя модератором поставил? Человек зашёл на форм спросить, мордер бросается, оскорбляет. Мой тебе совет - Обратись к врачу!
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: преобразование типа char в long int

Сообщение NStorm »

[uquote="Chip_step",url="/forum/viewtopic.php?p=3990281#p3990281"]суть темы в том,
что-бы не использовать long int.[/uquote]
Нахрена?! Ну это правда бред какой-то. "Не использовать long int, чтобы использовать long int". Студент что-ли не понявший задачу препода?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: преобразование типа char в long int

Сообщение BOB51 »

[uquote="Chip_step",url="/forum/viewtopic.php?p=3990317#p3990317"]счетчик инкрементируешь по 10000 - 20раз? Как хранить полученое число? :shock:[/uquote]
Интересно...
1. Каков у Вас стаж в программировании на Си? (и вообще в отношении работы с МК).
2. Это вариант "чистого Си" в АВР-студио или таки адуринья (ардуинья) в приложении к аттини 2313?
:roll:
Собственно в Си нас не интересует "ГДЕ" - есть переменная и все - где ее компилятор положит - там ей и быть (остальное по мере солидного изучения можно выяснить и научиться применять).
Я честно не спец по "классическому Си" - с данным ЯВУ имею дело в рамках референса ардуиноIDE да еще малость "классическим ассемблером" балуюсь и то....
Ваши вопросы честно говоря ставят в тупик...
Это же классика начинающего - переменные, циклы, счетчики...
Тут, судя по вопросу, надо предварительно ускоренный курс Си пройти (хотя-бы в рамках адуринки)...
так ... набросок теста для адуринки-нано с индикацией на терминалке...
Спойлер

Код: Выделить всё

char flag=1;
long control=0;

void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:

while(flag)
{
  for (char cnt2=0; cnt2<=(20-1); cnt2++)
  {
   for (int cnt1=0; cnt1<=(10000-1); cnt1++)
    {
      control++; Serial.println(control, DEC);
    }
   
  }
  flag=0;
}
while(1)
{
  
}


}
и то... мозговынос насчет - "а на Х/З ограничиваться INT??"...
:tea:

Добавлено after 1 minute 38 seconds:
[uquote="Chip_step",url="/forum/viewtopic.php?p=3990478#p3990478"]Ого ты нарванный!!! Тебе что тяжело по жизни? Что ты здесь на людей бросаешься? Кто тебя модератором поставил? Человек зашёл на форм спросить, мордер бросается, оскорбляет. Мой тебе совет - Обратись к врачу![/uquote]
Вообще-то, УВАЖАЕМЫЙ КОТЕНОК это Вы "несколько несдержаны" в своих эмоциях "крутого начинающего" - посему и ответы... соответствующие...
:wink:
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: преобразование типа char в long int

Сообщение Dimon456 »

Скорее всего вопрос про указатели.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: преобразование типа char в long int

Сообщение BOB51 »

Непохоже... До указателей тут еще оччень далеко - другое дело, судя по кристаллу, хочется размер кода/размер используемого ОЗУ уменьшить...
Хотя... там как-то все равно используется константа для сравнения.
А в случае "двойного кольца" - приятно выглядить только под ассемблером, да и то... надо аккуратно "уложить" обработку.
Чего там компилятор Си накрутит - проще таки в одном цикле с long упаковаться.
:dont_know:

Или еще вариант (пробую ВАНГОВАТЬ С БУБНОМ) - хотим иметь 6-разрядный десятичный счетчик.
Т.е. 6 char размером в 0-9.
Тогда каждый инкрементируется от 0 до 9 с переносом в следующий разряд.
Однако этот примитив не для ЯВУ - там тот же long счетчик-накопитель преобразуется в соответствующий вид стандартной математикой.
Ну на крайний случай - делаем свою функцию преоборазования двоичного числа в двоично-десятичный эквивалент (а затем двоично-десятичное в сегментный код).
Ох уж эти КОТЯТА.... Даже сформулировать "хотелку" общедоступно и то...
8)
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: преобразование типа char в long int

Сообщение NStorm »

Всё там прекрасно компилятор "накрутит". Задача работы с числами большей разрядности, нежели разрядность АЛУ, как бы не очень редкая, мягко говоря.
А если цель в экономии памяти, в Си вместо всяких двойных циклов и нескольких переменных есть упакованные структуры с битовыми полями.

Добавлено after 42 seconds:
Но всё это гадание на кофейной гуще, пока ТС не объяснит чего там от него хотят конкретно и не перестанет заниматься "программированием" методом тыка.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: преобразование типа char в long int

Сообщение ARV »

любопытно: а Chip_step может в поллитровую бутылку наливать до 200 литров воды? а в карман насыпать до 2т семок может? по идее, если в переменную char получится упихнуть число 200000, то это будет сулить значительные перемены в промышленности и экономике вообще... жаль, нобелевку по программирванию не дают.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: преобразование типа char в long int

Сообщение Dimon456 »

Ну что вы так все.

У ТС есть секретная функция, которая принимает тип char, обратите внимание, знаковый тип,
и какое-то условие этой функции, допустим - нужно всего один раз вызвать функцию, какая-то причина есть на это, секретная,

но вот диапазон значений типа char ТС не достаточно, long int подошел бы в самый раз,

так вот задача: впихнуть long int в функцию, которая принимает тип char за один заход.

Чуть ниже есть тема про генератор, а на выходе этой темы, умалчивается, шаговый двигатель оказался.

Видимо, суть в том, что нужно переместить шаговый двигатель на 200000 позиций за один раз, учитывается разгон, работа, и торможение.
Но этим ТС по чему то не хочет делиться со всеми, видимо коммерческий проект, вот и ходит вокруг да около, а вы думайте и гадайте.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: преобразование типа char в long int

Сообщение ARV »

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

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

Вернуться в «AVR»