Сейчас для дат есть префикс D'2013.01.01', а для бинарных данных предлагаю стиль MySQL b'0101101' = 45
При подготовки хромосом для нейронной сети такая запись удобнее для зрительного восприятия.
Есть стиль 0b0101101 = 45 по аналогии с 0x2D
Ну, я понадеялся на активное обсуждение, как лучше сделать, а тут глухо...
Кстати, стандартный Виндовой Калькулятор прекрасно отдает бинарное представление в режиме Программиста.
Ну, я понадеялся на активное обсуждение, как лучше сделать, а тут глухо...
я - за! Но не пройдет, потому что:
1) Ошибка удаляться от с++
2) Шестнадцатеричный формат уже есть и легко читается 0x2D
я - за! Но не пройдет, потому что:
Мы тоже - за. Пройдёт, потому что нам самим этого не хватало (у нас уже есть литеральные префиксы C' и D', которых нет в C++). И тут нашёлся человек, правильно сформулировавший запрос.
Более того. В MetaEditor в обзоре переменных будет возможность просматривать целочисленные значения не только в десятичеом виде, но и в в шестнадцатиричном, и в двоичном
Ждите следующего билда
По-моему не проблема (в этой реализиции максимум 8 unsigned бит):
#define BIN(val) ((val % 10 ? 1 : 0) + (val % 100 >= 10 && val % 100 ? 2 : 0) + (val % 1000 >= 100 && val % 1000 ? 4 : 0) + (val % 10000 >= 1000 && val % 10000 ? 8 : 0) + (val % 100000 >= 10000 && val % 100000 ? 16 : 0) + (val % 1000000 >= 100000 && val % 1000000 ? 32 : 0) + (val % 10000000 >= 1000000 && val % 10000000 ? 64 : 0) + (val % 100000000 >= 10000000 && val % 100000000 ? 128 : 0)) void OnStart() { const int i = BIN(10111); // 23 dec Alert(i); }
Жаль что нет многострочного defin'а чтобы записть более читабельно:
#define BIN(val) ((val % 10 ? 1 : 0) + \ (val % 100 >= 10 && val % 100 ? 2 : 0) + \ (val % 1000 >= 100 && val % 1000 ? 4 : 0) + \ (val % 10000 >= 1000 && val % 10000 ? 8 : 0) +\ (val % 100000 >= 10000 && val % 100000 ? 16 : 0) +\ (val % 1000000 >= 100000 && val % 1000000 ? 32 : 0) +\ (val % 10000000 >= 1000000 && val % 10000000 ? 64 : 0) +\ (val % 100000000 >= 10000000 && val % 100000000 ? 128 : 0))
Лучше бы локи включили ))
Upd:
Нагородил лишнего, нормальный вариант:
#define BIN(val) ((val % 10 ? 1 : 0) + \ (val % 100 >= 10 ? 2 : 0) + \ (val % 1000 >= 100 ? 4 : 0) + \ (val % 10000 >= 1000 ? 8 : 0) +\ (val % 100000 >= 10000 ? 16 : 0) +\ (val % 1000000 >= 100000 ? 32 : 0) +\ (val % 10000000 >= 1000000 ? 64 : 0) +\ (val % 100000000 >= 10000000 ? 128 : 0))
Жаль что нет многострочного defin'а чтобы записть более читабельно:
#define BIN(val) ((val % 10 ? 1 : 0) + \ (val % 100 >= 10 && val % 100 ? 2 : 0) + \ (val % 1000 >= 100 && val % 1000 ? 4 : 0) + \ (val % 10000 >= 1000 && val % 10000 ? 8 : 0) + \ (val % 100000 >= 10000 && val % 100000 ? 16 : 0) + \ (val % 1000000 >= 100000 && val % 1000000 ? 32 : 0) + \ (val % 10000000 >= 1000000 && val % 10000000 ? 64 : 0) + \ (val % 100000000 >= 10000000 && val % 100000000 ? 128 : 0))
Поддерживается с 794 билда
Круто. Круто-круто-круто.
Теперь можно городить самопальные шаблонные классы.
Хотя круче, если б в самом языке появились уже.
Теперь можно городить самопальные шаблонные классы.
Хотя круче, если б в самом языке появились уже.
template тоже доступен давно.
Насколько знаю - только для функций. Для классов пока нетути.
Или я шо-то пропустил?
Во всяком случае в хелпе об этом ничего и в анонсах билдов не встречал.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Сейчас для дат есть префикс D'2013.01.01', а для бинарных данных предлагаю стиль MySQL b'0101101' = 45
При подготовки хромосом для нейронной сети такая запись удобнее для зрительного восприятия.
Есть стиль 0b0101101 = 45 по аналогии с 0x2D