powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компилятор тупит.
7 сообщений из 7, страница 1 из 1
Компилятор тупит.
    #34376986
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
unsigned long long l;
//unsigned long long l=0x100000000;

int main() {

    printf("%d\n", sizeof(l));

    l= 1 ;
    printf("%lld\n", l);

    l<<= 16 ;
    printf("%lld\n", l);

    l<<= 16 ;
    printf("%lld\n", l);

    l<<= 16 ;
    printf("%lld\n", l);

//    l=0x100000000;
    l=0xffffffff;
    printf("%lld\n", l);

    return  0 ;
};


Если раскоментарить компилятор выдет:
автор
c.cpp:44: error: integer constant is too large for "long" type


Причем, long long имеет 8 байт и все в него нормально вмещается:

автор
8
1
65536
4294967296
281474976710656
4294967295


Собственно вопрос: Как научить компилятор вносить в long long большие значения напрямую. Иначе приходится извращаться со сдвигами.
...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377041
roman10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой компилятор вы используете?
...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377076
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для VC работает:

Код: plaintext
1.
2.
3.
4.
	__int64 ull;
	ull = 0xABCDEF0123456789;

	fprintf(stderr,  "%x%x\n", ( (unsigned long*)&ull )[ 1 ] , ( (unsigned long*)&ull )[ 0 ] );

для gcc придеться использовать long long скорее, хотя не уверен.

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377117
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roman10Какой компилятор вы используете?

gcc 3.3.3
...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377121
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinдля VC работает:

Код: plaintext
1.
2.
3.
4.
	__int64 ull;
	ull = 0xABCDEF0123456789;

	fprintf(stderr,  "%x%x\n", ( (unsigned long*)&ull )[ 1 ] , ( (unsigned long*)&ull )[ 0 ] );

для gcc придеться использовать long long скорее, хотя не уверен.

аффтопитезь: объект либо именован, либо не существует

Так я его и использую, как и написал выше.
...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377131
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для long long используй (gcc)

Код: plaintext
1.
    l=0x100000000LL;

LL

---------------------------------------------------

...
Рейтинг: 0 / 0
Компилятор тупит.
    #34377155
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83Для long long используй (gcc)

Код: plaintext
1.
    l=0x100000000LL;

LL


О! Пасиб.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компилятор тупит.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]