Здравствуйте!
Заранее прошу прощения за чайниковский вопрос, но вот...Подскажите плз, вот к примеру:
int i=5; //в десятичной системе счисления
int i=05; //в восьмеричной
int i=0x5; //в шестнадцатеричнойа как надо записать для двоичной системы счисления, например для 10010 ?
в некоторых источниках я встречал int i=10010b; но мой компилятор (GCC)
жутко ругается. Какой синтаксис записи должен быть?Огромное спасибо!
>Здравствуйте!
>Заранее прошу прощения за чайниковский вопрос, но вот...
>
>Подскажите плз, вот к примеру:
>int i=5; //в десятичной системе счисления
>int i=05; //в восьмеричной
>int i=0x5; //в шестнадцатеричной
>
>а как надо записать для двоичной системы счисления, например для 10010 ?
>
>в некоторых источниках я встречал int i=10010b; но мой компилятор (GCC)
>жутко ругается. Какой синтаксис записи должен быть?
>
>Огромное спасибо!Работа с двоичными числами (кроме побитовых операций) не предусмотрена стандартом языка, возможно работать только с 16, 10, и 8 системами исчисления. :)
Хе, а чем 16-тиричная система в данном случае плоха. Вполне прозрачна по отношению к двоичной системе.
>Здравствуйте!
>Заранее прошу прощения за чайниковский вопрос, но вот...
>
>Подскажите плз, вот к примеру:
>жутко ругается. Какой синтаксис записи должен быть?
>
>Огромное спасибо!а может быть просто писать в виде строки? и функцией конвертировать в инт?
int binstr2i(char *str) {
int i;
int len = strlen(str);
if(len > 32) {
return 0;
}
int rez = 0;
for(i = 0; i < len; i++) {
rez <<= 1;
if(str[i] == '1') {
rez += 1;
}
}
return rez;
}int i = binstr2i("0010101010");
а?