реклама на сайте
подробности

 
 
> Двоичное представление константы
kumle
сообщение Jan 21 2011, 11:34
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Кто знает как указать двоичную константу?
0b00000000 не проходит.
В описании что-то не нашел.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jan 21 2011, 12:26
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Подсмотрел когда-то здесь на сайте, и слегка изменил (а четверичный формат - добавил)
Код
/* Макро для использования двоичного формата чисел */
#define _BITSET(bits) \
  ((uint16_t) (\
  (bits % 010) | \
  (bits / 010 % 010) << 1 | \
  (bits / 0100 % 010) << 2 | \
  (bits / 01000 % 010) << 3 | \
  (bits / 010000 % 010) << 4 | \
  (bits / 0100000 % 010) << 5 | \
  (bits / 01000000 % 010) << 6 | \
  (bits / 010000000 % 010) << 7 | \
  (bits / 0100000000 % 010) << 8 | \
  (bits / 01000000000 % 010) << 9 | \
  (bits / 010000000000 % 010) << 10 | \
  (bits / 0100000000000 % 010) << 11 | \
  (bits / 01000000000000 % 010) << 12 | \
  (bits / 010000000000000 % 010) << 13 | \
  (bits / 0100000000000000 % 010) << 14 | \
  (bits / 01000000000000000 % 010) << 15))
#define BIN(bits) _BITSET(0##bits)

/* Макро для использования четверичного формата чисел */
#define _PAIRSET(digits) \
  ((uint16_t) (\
  (digits % 010) | \
  (digits / 010 % 010) << 2 | \
  (digits / 0100 % 010) << 4 | \
  (digits / 01000 % 010) << 6 | \
  (digits / 010000 % 010) << 8 | \
  (digits / 0100000 % 010) << 10 | \
  (digits / 01000000 % 010) << 12 | \
  (digits / 010000000 % 010) << 14))
#define QUAD(digits) _PAIRSET(0##digits)


Мне это понадобилось, когда свой шрифт создавал - очень удобно "рисовать" буквы.

Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 21 2011, 14:28
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(ViKo @ Jan 21 2011, 15:26) *
Мне это понадобилось, когда свой шрифт создавал - очень удобно "рисовать" буквы.

Гораздо нагляднее рисовать не только буквы но и картинки так:
Код
#define ________    0U
#define _______X    1U
#define ______X_    2U
#define ______XX    3U
#define _____X__    4U
#define _____X_X    5U
...
#define XXXXXXX_    254U
#define XXXXXXXX    255U


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 21 2011, 14:40
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(demiurg_spb @ Jan 21 2011, 16:28) *
Гораздо нагляднее рисовать не только буквы но и картинки так...

Приму к сведению.
У меня тоже было неплохо (еще свой простенький вариант субпиксельного сглаживания сделал):
Код
    // 0x30 0
    QUAD(01333000),
    QUAD(03001200),
    QUAD(12000300),
    QUAD(12000300),
    QUAD(12000300),
    QUAD(12000300),
    QUAD(03001200),
    QUAD(01333000),
    QUAD(00000000),
    QUAD(00000000),

дефайнами я столько вариантов не закодировал бы, места б в файле не хватило sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 31 2011, 15:13
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(ViKo @ Jan 21 2011, 17:40) *
У меня тоже было неплохо (еще свой простенький вариант субпиксельного сглаживания сделал):

Вообще, субпиксельное сглаживание - это другое. А это просто сглаживание с применением оттенков серого. Для него рекомендую утилиту ttf2pcx. Она экспортирует системные шрифты в растровое изображение в формате PCX, при этом умеет делать и оттенки серого. В дальнейшем этот PCX-файл легко парсится. Собственно, что я и сделал. Результат - загляденье. Если интересна парсилка - выложу.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 11:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016