原码,反码和补码【详解】

有符号数:定义 (signed)int  a;无符号数(即没有负数):定义unsigned  int  a;

有符号数中,符号用0,1表示。原码第一位为0代表正数,第一位为1代表负数。

计算机运算都是以各数的原码进行计算的

正数原码:原码,反码和补码三码合一。意思是正数的原码,反码和补码是一样的。

   例:在64位中int占四个字节,而八位是一个字节。

   因此对于整型数字1来说其原码为:00000000000000000000000000000001

原码,反码和补码【详解】_第1张图片

其中整型数字1的反码和补码和上图表示的原码是一样的。

负数补码:【结论】负数补码的表示方法三步走:1.求负数绝对值原码 2.取反 3. +1

例:求-1的补码

解:第一步:-1的绝对值为1,1的原码为00000000000000000000000000000001

       第二步:对上面的数取反得到 11111111111111111111111111111110

       第三步:再将第二步得到的数加1即为所求值。+1得11111111111111111111111111111111

综上-1的补码为11111111111111111111111111111111

【提醒】因为整数只有四个字节,所以超过32个位的将被舍去

           

你可能感兴趣的:(#C语言,c语言)