Puzzle by C type продвижение с короткого на int

У меня вопрос, который требует совета от любого эксперта: который равен 0000000011100000 .

  • Когда я передаю это значение в printf () , оно будет преобразовано в тип int , поэтому оно станет 00000000000000000000000011100000 .

  • На шаге 4, когда он преобразуется в int , старший бит равен 0 .

  • Почему, когда я использую спецификатор% hd или даже спецификатор % d , будет ли он по-прежнему предлагать мне отрицательное значение вместо положительного?

  • 5
    задан Cody Gray 9 May 2011 в 09:50
    поделиться