Я прочитал документацию, и она говорит, что длинным является %li, но печать возвращается как-2147024891. Что дает?
Вы даже не указали, какой номер хотите напечатать, но я думаю, вы наткнулись на разницу между печатью со знаком и без знака.
Используйте "% lu" для длинных чисел без знака
и "% ld" или "% li" для длинных
чисел со знаком.
В MSDN есть хорошая документация по спецификаторам printf. Для 64-битных значений (например, long long
) следует использовать макросы из "inttypes.h".
Ознакомьтесь с run_simple werkzeug:
http://werkzeug.pocoo.org/documentation/0.5.1/serving.html
Помимо автоматической перезагрузки кода, вы можете использовать use_debugger=True для включения их довольно острого отладчика поверх вашего приложения (который включает консоль в каждой строке traceback).
-121--3153498-Все варианты, которые я когда-либо использовал, были объяснены в книге hadley's great ggplot2.
-121--907642-Вы пытаетесь напечатать HRESULT, код ошибки «отказано в доступе». Это лучше всего отформатировать в шестнадцатеричном формате, по крайней мере, чтобы быть легко узнаваемым программистом и поле запроса Google.
printf("0x%08lx", hr);
Теперь вы мгновенно узнаете код объекта 7 (Windows API) и код ошибки 5 (доступ запрещен).
Учитывая код:
#include <stdio.h>
int main(void)
{
long l1 = +2147024891;
long l2 = -2147024891;
printf("%+11li = 0x%lx\n", l1, l1);
printf("%+11li = 0x%lx\n", l2, l2);
return(0);
}
Вывод, скомпилированный в 32-битном режиме (в MacOS 10.6.2):
+2147024891 = 0x7ff8fffb
-2147024891 = 0x80070005
Вывод, скомпилированный в 64 -битовый режим:
2147024891 = 0x7ff8fffb
-2147024891 = 0xffffffff80070005
Поскольку вы не показываете нам, что вы написали и почему вы ожидали чего-то другого, трудно сказать, что может быть не так. Однако, хотя и относительно необычно, преобразование «% li
» было как в C89, так и в C99, так что это должно быть правильно. Более обычными спецификаторами преобразования являются «% ld
» (синоним «% li
») и «% lu
» (и «% lo
'и' % lx
') для значений без знака.
Попробуйте% llu, а также для присвоения значения длинной переменной не забудьте добавить "LL" в конце числа, например a = 999999999LL
Вы можете использовать случай
условие для этого http://dev.mysql.com/doc/refman/5.0/en/case-statement.html
Я видел этот термин, используемый в контексте Forth, где отсутствие доступа к кадру стека иногда требует чрезмерного использования манипуляций стеком ("thrashing the stack"), чтобы добраться до определенных слов в верхней части стека.
Также, Этот глоссарий определяет его как "Частое расширение стека (переполнение) и сокращение (недолив)". Ясно, что определение нуждается в дальнейшем объяснении. Возможно, кто-то более знакомый с X1 Cray может объяснить.
-121--4817530-Вы печатаете неподписанное значение как подписанное? При дополнении двумя значение с самым значительным битовым набором будет напечатано как отрицательное. Попробуйте% u для неподписанных
%ld или %lu в зависимости от того, какая "длина" вам нужна.