补码求源码c语言函数,补码求源码c语言函数

C语言,输出补码

求补码的函数可以参考下面的代码,我们知道,在内存中,正数的补码等于他本身,所以直接返回a。负数的补码正是它在内存中的存在形式,这是我们定义一个unsigned int型的数值去用它来赋值,取得的就是他的补码的二进制形式。为了验证,我另外编写了一个函数,用来输出二进制,请参考。

创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站建设、网站设计, 我们的网页设计师为您提供的解决方案。

unsigned int buma(int a)//用来求得补码

{

if(a=0)

return a;

else

{

unsigned int temp=a;

return temp;

}

}

void twoprint(unsigned int a)//用来输出二进制

{

int temp=a%2;

if(a/2==0)

{

couta" ";return ;

}

twoprint(a/2);//这里采用了递归调用的方法

couttemp" ";

}

C语言中,什么是补码、源码、反码?分别怎样计算?

一、原码

求原码:X≥0,则符号位为0,其余照抄;

X≤0,则符号位为1,其余照抄。

【例1】X=+1001001 [X]原 = 01001001

【例2】X=-1001001 [X]原 = 11001001

二、反码

求反码:若X≥0,符号位为0,其余照抄;

若X≤0,符号位为1,其余按位取反。

【例3】X=+1001001 [X]反 = 01001001

【例4】X=-1001001 [X]反 = 10110110

三、补码

求补码:若X≥0,符号位为0,其余照抄;

若X≤0,符号位为1,其余取反后,最低位加1。

【例5】X=+1001001 [X]补 = 01001001

【例6】X=-1001001 [X]补 = 10110111

C语言写一函数:给出一个数的原码,得到该数的补码

0100000是八进制数。即二进制数:1000 0000 0000 0000。

z=value0100000;//意义就是取value的最高位。

if(z==0100000)//如果最高位是1,即为负数,需要求补

z=~value+1;//求补,即取反+1

else

z=value;


分享文章:补码求源码c语言函数,补码求源码c语言函数
分享路径:http://scyanting.com/article/dsisehd.html