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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯