Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/30: Рейтинг темы: голосов - 30, средняя оценка - 5.00
Технофашист
224 / 209 / 11
Регистрация: 11.03.2009
Сообщений: 886
1

Двоичные константы (вопрос ради интереса)

17.02.2011, 23:50. Просмотров 5570. Ответов 14
Метки нет (Все метки)

Интересна причина, почему нет возможности задавать именно двоичные.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2011, 23:50
Ответы с готовыми решениями:

Интереса ради
Прошу строго не судить появилась такая задумка в голове и не знаю можно ли ее решить. class A:...

Вопрос про константы
Вопрос состоит в следующем, например, я объявляю константу const key : array of longint =...

Комбинаторно- вероятностный смысл константы пи, гамма функция и обобщение константы пи
Добавлено через 33 минуты Известна формула для выражения \pi, ...

Оценка интереса пользователя
Доброго дня. Прошу помочь решить задачу. Как можно одним показателем оценить, насколько...

14
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
18.02.2011, 00:01 2
Нет необходимости ) С шестнадцатиричными константами работать не сложнее и они намного менее громоздки.
0
бжни
2467 / 1676 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
18.02.2011, 00:05 3
в асме например можно, но для целей си этого как сказал rangerx не нужно
единственное применение могло быть - решение лабораторных задачек на форуме :-)
0
Технофашист
224 / 209 / 11
Регистрация: 11.03.2009
Сообщений: 886
18.02.2011, 00:09  [ТС] 4
да нет, мне тут понадобилось работать с битами переменной как с флагами и было бы удобно задавать их двоично

Добавлено через 50 секунд
ну так и приходится через ассемблерные вставки задавать. Просто стало интересно, почему нет возможности
0
Технофашист
224 / 209 / 11
Регистрация: 11.03.2009
Сообщений: 886
18.02.2011, 00:13  [ТС] 5
p.s. мне ещё интересен наибыстрый способ определения состояния оперделённого бита в байте. Кто какие знает?
0
бжни
2467 / 1676 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
18.02.2011, 00:16 6
darkAngel, | и шестнадцатеричная константа?
0
4845 / 3266 / 465
Регистрация: 10.12.2008
Сообщений: 10,569
18.02.2011, 03:39 7
Цитата Сообщение от darkAngel
способ определения состояния оперделённого бита в байте. Кто какие знает?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main(void)
{
    unsigned char c = 'a';
 
    printf("%d", (c & 01) != 0);
    printf("%d", (c & 02) != 0);
    printf("%d", (c & 04) != 0);
    printf("%d", (c & 010) != 0);
    printf("%d", (c & 020) != 0);
    printf("%d", (c & 040) != 0);
    printf("%d", (c & 0100) != 0);
    printf("%d", (c & 0200) != 0);
    putchar('\n');
    
    printf("%d", c >> 0 & 01);
    printf("%d", c >> 1 & 01);
    printf("%d", c >> 2 & 01);
    printf("%d", c >> 3 & 01);
    printf("%d", c >> 4 & 01);
    printf("%d", c >> 5 & 01);
    printf("%d", c >> 6 & 01);
    printf("%d", c >> 7 & 01);
    putchar('\n');
    
    return 0;    
}
Код
[guest@localhost tests]$ ./t
10000110
10000110
[guest@localhost tests]$
1
Jesus loves me
Эксперт С++
5096 / 3110 / 351
Регистрация: 12.12.2009
Сообщений: 7,845
Записей в блоге: 2
18.02.2011, 11:51 8
Цитата Сообщение от darkAngel Посмотреть сообщение
мне ещё интересен наибыстрый способ определения состояния оперделённого бита в байте. Кто какие знает?
Определение бита - операция "И", установка бита - операция "ИЛИ".

Не по теме:

accept, а зачем восьмиричная с/с ? Чтоб запутать? :D

0
Технофашист
224 / 209 / 11
Регистрация: 11.03.2009
Сообщений: 886
18.02.2011, 15:05  [ТС] 9
вот возник вопрос, как использовать ассемблерные вставки в методах класса? Из-за того, что методы являются inline функциями, вставку делать нельзя.
Пробовал и макросом, но компилятор не получилось обмануть.
Как быть?

Добавлено через 2 минуты
p.s. вызывать обычную функцию с ассемблерной вставкой в методах не подходит, т.к. вызовов планируется огромное количество и лишнее сохранение в стек и выгрузка недопустимая роскошь. А полностью писать всё на ассемблере не охото.
0
accept
19.02.2011, 05:11
  #10

Не по теме:

Цитата Сообщение от Kastaneda
accept, а зачем восьмиричная с/с ? Чтоб запутать?
не, она легко преобразуется в двоичную, как и шестнадцатеричная
например число 0777 представляет из себя три группы битов 111 111 111

1
Эксперт C
24306 / 14999 / 3160
Регистрация: 24.12.2010
Сообщений: 32,087
19.02.2011, 19:54 11
Цитата Сообщение от darkAngel Посмотреть сообщение
p.s. мне ещё интересен наибыстрый способ определения состояния оперделённого бита в байте. Кто какие знает?
C
1
 if (B&(1<<k)) ...// состояние k-того бита в байте B (счет k - с нуля)
Можно еще быстрее
C
1
2
char S[8] = { 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80 };
 if (B&S[k]) ...
3
1 / 1 / 0
Регистрация: 04.07.2011
Сообщений: 5
04.07.2011, 06:20 12
Почему нельзя можно!
C++
1
int x=0xb010101010;
0
4845 / 3266 / 465
Регистрация: 10.12.2008
Сообщений: 10,569
04.07.2011, 06:55 13
Python
1
2
3
>>> 0b111000
56
>>>
0
4194 / 1787 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
04.07.2011, 08:01 14
Цитата Сообщение от darkAngel Посмотреть сообщение
да нет, мне тут понадобилось работать с битами переменной как с флагами и было бы удобно задавать их двоично
Добавлено через 50 секунд
ну так и приходится через ассемблерные вставки задавать.
Ты бредишь? Число не зависит от системы счисления, так что с битами можно хоть с троичной работать, а шестнадцатеричная компактнее и удобнее.
0
1 / 1 / 0
Регистрация: 04.07.2011
Сообщений: 5
05.07.2011, 06:36 15
Цитата Сообщение от Scar Посмотреть сообщение
Почему нельзя можно!
C++
1
int x=0xb010101010;
блин ошибся нельзя...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2011, 06:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определители (в целях интереса)
Допустим: определители Что то мне кажется ну не может быть в решении такое большое число...

Карта города и точки интереса
Доброго времени! Есть файл с координатами вершин(около 7к вершин), есть файл соединяющими их...

Объект интереса: фискальный регистратор
Здравствуйте уважаемые форумчане. Хочу выяснить максимум полезного о существующих типах фискальных...

Поиск области интереса на изображении
Подскажите алгоритм с помощью которого можно найти прямоугольник на картинке с последующей его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.