Отговори на тема  [ 90 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6  Следваща
"C" въпрос, как се прави това? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: "C" въпрос, как се прави това?
https://www.youtube.com/watch?v=JMJXvsC ... dboxStudio

_________________
main[-1u]={1};


Вто Юни 05, 2018 7:28 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Я един бърз въпрос :D за разтуха :
На асемблер:
MyTab:
db ' -!0'
db 'ABC1'
db 'DEF2'
....
db 'ÝZ.9'

На Ц как се обявява най- лесно този масив от 40 символа?
char Mytab[]=????


Вто Юни 05, 2018 8:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1954
Мнение Re: "C" въпрос, как се прави това?
char Mytab[]= {1, 2, 3, …, 39, 40};
Сменяш числата с каквото трябва.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Вто Юни 05, 2018 8:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Ако забелязваш, това са десет цифрови бутона, с алтернативни букви.
Ако имаш 2-3 такива таблици .... удобно е да ги виждаш/въвеждаш по начин ,подобен на асемблера
char Mytab[]=
{ ' ', '.',',','0',
'A','B','C','1' ,....

'X','Y',' ','9'

};

Заболява ме ръката от тези апострофи.


Вто Юни 05, 2018 9:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: "C" въпрос, как се прави това?
Така като въвеждам голи числа, имам спомен, че компилатора ги интерпретираше като шестнайсетични. Т.е. 40 = 0x40. Иначе трябва d'40'. А това със апострофите е най-удобно мисля. :roll:
Иначе може
Код:
const char * entabs = "0123456789ABCDEFG"
const char * bgtabs = "0123456789АБВГДЕЖ"
char * tabs;
unsigned char tabnumber;
char Mytab;

while(1)
{
   tabs = entabs;
   tabnumber = AlaBala();
   Mytab = tabs[tabnumber];
   NekwiDrugiRaboti();

}


_________________
https://github.com/slav4ocom/


Вто Юни 05, 2018 11:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: "C" въпрос, как се прави това?
Зависи от компилатора, тези с които съм работил не ми се е случвало да приемат десетично число като шестнадесетично, като оставим тези за малки въшки за които съм сигурен, вижуал студио и борланд С също, то последното го няма, вече е някакво рад студио или подобна простотия.


Сря Юни 06, 2018 3:59 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: "C" въпрос, как се прави това?
Ами имах някаква програмка на MPASM абе напиша 9 брои до 9 . Напиша 10 - брои до 16 ??? После се уситих къде прави белята...

_________________
https://github.com/slav4ocom/


Сря Юни 06, 2018 7:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Има си директива с която указваш числата в коя бройна система са, ако няма квалификатор - по асемблерите,де.
Ако си написал 10, 10H, 0x10 - все едно е, щом текущата бройна система е 16.
Ако напишеш d'10' (или нещо подобно) , ще е десет, не шестнадесет.
Нямам идея, защо е направено така. За осмични числа има смисъл- ако много са ги ползвали преди 30г, за 16-чни - смисълът е по-малко , защото много често ще трябва да добавяш 0 отпред.


Чет Юни 07, 2018 6:19 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 8:22 am
Мнения: 15501
Местоположение: София
Мнение Re: "C" въпрос, как се прави това?
На повечето макро асемблери наистина беше така. Вероятно защото хората пишещи на асемблер така или иначе мислят в двоична/шеснайсетична система.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Юни 07, 2018 6:50 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: "C" въпрос, как се прави това?
По спомен Милаба можеш да му кажеш какво е дефаултният тип, останалото го пишеш h или b


Чет Юни 07, 2018 7:43 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Ей така, между другото , се загледах в 8-бит пикове и ...
- инсталирам на един комп (Win'7/32) няколко версии на МПЛАБ (не Х), и не щат да тръгват,
Вина казва МПЛАБ спря ...ще ви уведомим за решение. На един W7'64 си тръгва без проблеми.
- инсталирам и гледам асемблера след компилация:
Код:

main.c: 86: if ((PORTB&1)==0) winputs|=1;
   btfsc   (6),(0)&7   ;volatile
   goto   u911
   goto   u910
u911:
   goto   l46
u910:
   
l1205:   
   bsf   (main@winputs)+(0/8),(0)&7
   
l46:   
   line   87



Има 3 абсолютно излишни "goto" . Това е на безплатен компилатор xc8.
Гледах сайта ...и не можах да разбера за какви пари xc8 ще махне тия 3 излишни реда. ....
Не че ми трябва в момента, ама за xc16 може да ми се наложи :-)


Съб Юли 28, 2018 2:08 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: "C" въпрос, как се прави това?
за не-тръгването: МПЛАБ-а Х е зависим от Java-та ти

https://www.microchipdirect.com/product ... sw006021-2
https://www.microchipdirect.com/product ... sw006022-2

_________________
main[-1u]={1};


Съб Юли 28, 2018 2:18 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Java беше ъпдейтната.
Цената я видях ,мерси :-)


Съб Юли 28, 2018 3:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: "C" въпрос, как се прави това?
Тъй..малко се зарадвах. Листингът от по-горе е с разширение ".as".
Обаче се оказа ( според ".lst"), че макроасемблерът оптимизира и маха излишните 3 реда .


Съб Юли 28, 2018 7:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 13, 2013 2:35 pm
Мнения: 1748
Мнение Re: "C" въпрос, как се прави това?
Те като не се изпълняват- не е много фатално, ако не гониш и място. Но такива заврънгачества съм виждал в изпълним код- как ги изпълнява процесора...


Съб Юли 28, 2018 11:40 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 90 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни