c语言编程中%d怎么运用的,C语言格式符%d与%D的区别

在读此文之前,请先阅读《有符号整数与无符号整数》:

一、原码、反码、补码

数在计算机里是以二进制来表示的。数分为有符号数和无符号数。对于有符号数来说,最高位用来表示符号,1为负,0为正。

原码:一个数本身的二进制形式。

例(1):00000001表示1

例(2):10000001表示-1

反码:正数的反码是它本身,负数的反码是原码的最高位(符号位)不变,其他位取反。

例(3):00000001的反码是00000001

例(4):10000001的反码是11111110

补码:计算机中存储的就是数的补码形式。正数的补码和它的原码、反码相同;负数的补码是反码加1。

例(5):00000001的补码是00000001

例(6):10000001的补码是11111111

原码与补码的转化规律:

(1)正数

补码=原码=反码

(2)负数

补码=原码取反+1

原码=(补码-1)取反

二、C语言中%d与%D的区别

C语言中,%d是有符号的整型格式符,%D是Mac系统下的无符号整型格式符,相当于Windows系统下的%u。Windows下没有%D格式符。

例(1):-3

-3的二进制原码是10000000,00000000,00000000,00000011,

它在计算机中的储存形式(补码)为11111111,11111111,1111111

你可能感兴趣的:(c语言编程中%d怎么运用的)