C语言 原码 反码 补码
Posted myrj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 原码 反码 补码相关的知识,希望对你有一定的参考价值。
1.任何类型的数据在计算机中都是以二进制补码形式存储 2.原码:最高位为符号位,用0表示正数,用1表示负数,其他位是相应数的2进制数 反码:除符号位外按位取反,0变为1,1变为0 补码:反码再加1 3.正数的原码 反码 补码都相同 65的原码 反码 补码都是:00000000 00000000 00000000 01000001 4.负数:以-65为例: 原码:10000000 00000000 00000000 01000001 反码:11111111 11111111 11111111 10111110 补码:11111111 11111111 11111111 10111111 5.得到相应的补码,需要逆推算出原码:先减1,除符号位外再取反,得到原码,再推算出相应结果
#include <stdio.h> int main(void) char c; c = 0345; printf("%d\\n",c); return 0;
C语言:整数保存 原码 反码 补码
#include <stdio.h> /* 本题结果为:-4 short类型占据2字节 ;赋值后实际占据了3个字节,所以有溢出警告提示,结果只保留0xfffc 保存二进制:1111 1111 1111 1100 (补码) 减1: 1111 1111 1111 1011 取反: 1000 0000 0000 0100 原码: 1000 0000 0000 0100对应十进制为-4 */ main() { short x=0xafffc; printf("%d",x); getchar(); }
以上是关于C语言 原码 反码 补码的主要内容,如果未能解决你的问题,请参考以下文章