Итак, я просто возился с C и хотел посмотреть, могу ли я присвоить двоичное значение целому числу и использовать функцию printf () для вывода значения со знаком или без знака. Но несмотря на то, что я получаю тот же результат, я думал, что получу половину стоимости печати подписанного по сравнению с беззнаковым. Я использую Code :: blocks и GCC.
Не игнорирует ли printf ()% i &% u и использует ли определение переменной?
Пример кода:
#include <stdio.h>
#include <stdlib.h>
int main()
{
signed int iNumber = 0b1111111111111111;
printf("Signed Int : %i\n", iNumber);
printf("Unsigned Int : %u\n", iNumber);
return 0;
}
Тот же результат, если я изменю int на unsigned:
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int iNumber = 0b1111111111111111;
printf("Signed Int : %i\n", iNumber);
printf("Unsigned Int : %u\n", iNumber);
return 0;
}