《C语言正负整数的二进制表示及二进制输出格式.doc》由会员分享,可在线阅读,更多相关《C语言正负整数的二进制表示及二进制输出格式.doc(2页珍藏版)》请在金锄头文库上搜索。
1、C语言正负整数的二进制表示及二进制输出格式讲C 语言数据类型时,讲到整数是在计算机的存储单元中按整数的补码形式存放的,这是学生很难理解补码是什么。其实正整数的补码是此数的二进制形式;而负整数的补码是按一下三个步骤求的:(1) 先将此数的绝对值写成二进制形式。(2) 然后对所有的各二进制位按位取反。(反码)(3) 再加 1,就得该负整数的补码。以下是显示整数二进制表示的C/C+程序:(1) C程序/程序设计:chuyi/*使用itoa来转成字符串 */* itoa(数字,字符串指针,进制)*/#include #include int main()/int a=7;int b=-7;char p
2、255; itoa(b,p,2); printf(%sn, p); /itoa(b,p,2);/printf(%sn, p);return 0;(2) C+程序/程序设计:chuyi/ 补码,负整数取绝对值后写成二进制形式,取反,加1,得对应的负数的补码。#includechar *_bit(int x,char *str,int len)int i;for(i=len-1;i=0;-i,x=1)stri=0+(1&x);strlen=0;return str;void main()cout(5+1)endl;cout(3+1)endl;const int size=16;char strsize+1;cout_bit(5,str,size) = 5endl;cout_bit(5,str,size) = 5endl;cout_bit(5+1,str,size) = 5+1endl;cout_bit(-5,str,size) = -5endlendl;cout_bit(3,str,size) = 3endl;cout_bit(3,str,size) = 3endl;cout_bit(3+1,str,size) = 3+1endl;cout_bit(-3,str,size) = -3endl;