永发信息网

240的原码,反码,补码.-250的原码,反码.补码各是什么.代码也要写出来.

答案:3  悬赏:30  手机版
解决时间 2021-04-16 06:42
  • 提问者网友:城市野鹿
  • 2021-04-15 09:38
240的原码,反码,补码.-250的原码,反码.补码各是什么.代码也要写出来.
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-04-15 10:37

原码就是这个数的二进制码;反码是原码求反;补码是求反后加1;(因为240比较大,所以用了两个存储单元)


240的原码为00000000,11110000


反码为11111111,00001111


补码为11111111,00010000


-240的原码为10000000,11110000


反码为 11111111,00001111


补码为 11111111,00010000



在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理。


负数的原码最高位是1.而补码和反码都是保持最高位不变


全部回答
  • 1楼网友:未来江山和你
  • 2021-04-15 12:28

反码就是易或下,1边0,0边1,补码加一,

  • 2楼网友:怙棘
  • 2021-04-15 11:44
#include <stdio.h> void dto2( void* num, int n ) { typedef unsigned char *pbyte; int i; pbyte p = ( pbyte )num + n - 1; while ( p >= ( pbyte )num ) { for ( i = 7; i >= 0; --i ) putchar( *p & ( 1 << i ) ? '1' : '0' ); putchar( ' ' ); --p; } putchar( '\n' ); } #define C(m, a) { printf( m ); dto2( &(a), sizeof( (a) ) ); } int main() { short a = 240; short b = -250; short c; C( " 240的原码:", a ); C( " 240的反码:", a ); C( " 240的补码:", a ); C( "-250的原码:", b ); C( "-250的反码:", c = ~b ); C( "-250的补码:", c = ~b + 1 ); getchar(); return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯