c语言里求负数补码的总结不足与优点.docxVIP

c语言里求负数补码的总结不足与优点.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言里求负数补码的总结不足与优点   看C语言编码转换--------负数的二进制表示方法   XX-09-0710:49:17|分类:|标签:|举报|字号订阅   今天在看C语言编码转换时,既然对负数的二进制表示有些遗忘,查了下网上的资料,他们说的是个P!误人子弟!和大家讨论了下,贴出来已备在此遗忘:   假设有一个int类型的数,值为5,那么,我们知道它在计算机中表示为:   5转换成二制是101,不过int类型的数占用4字节,所以前面填了一堆0。   现在想知道,-5在计算机中如何表示?   在计算机中,负数以原码的补码形式表达。   什么叫补码呢?这得从原码,反码说起。   原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。   比如是5的原码。是-5的原码。   反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。   取反操作指:原为1,得0;原为0,得1。   比如:正数的反码还是      负数每一位取反,得。   称:是的反码。   反码是相互的,所以也可称:   和互为反码。   补码:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1.   比如:的反码是:。   那么,补码为:   +1=   所以,-5在计算机中表达为:。转换为十六进制:0xFFFFFFFB。   再举一例,我们来看整数-1在计算机中如何表示。   假设这也是一个int类型,那么:   1、先取-1的原码:   2、得反码:   3、得补码:   可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF   主要知识点:   正数的反码和补码都与原码相同。   而负数的反码为对该数的原码除符号位外各位取反。   负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1   下面是书上原文:   原码表示法规定:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。   反码表示法规定:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。   补码表示法规定:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1.   正零和负零的补码相同,[+0]补=[-0]补=B   以下选项中非法的字符常量是(B)   A.\102   B.\019   C.\xff   D.\65   设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为   B.不确定      判断字符型变量c1是否为数字字符的正确表达式为(A)   A.(c1=0)(c1=0)(c1=c1)||(9k1)后,k1和k2的值分别为   和1   和20   和1   和20   下面四个选项中,均是不合法的用户标识符的选项是。   lao_A   gotoint   C._123tempINT   p_odo   判断字符型变量c1是否为小写字母的正确表达式为。   A.(a=c1)||(z=a)(c1=a)(c1b)(n=cd)后n的值为。      3ae   若有数学式bc,则不正确的C语言表达式是   *a*e/b*c   /b/c*e*3   *a*e/b/c   *e/c/b*3   设有以下变量定义,并已赋确定的值,charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为_【参考答案】   双精度   double____   假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_9____   若有x=1,y=2,z=3,则表达式(xBCA||AB的值是__0___   在C语言中,不带任何修饰符的浮点常量,是按_双精度____类型数据存储的。   若x和n均是int型变量,且x和n的初值均为5,则精神表达式x+=n++后x的值为10_____,n的值为_____6a?b   数学表达式3(a?b)等价的C语言表达式是_____[无]   【参考答案】   sqrt(abs(a-b))/3/(a+b)   sqrt(fabs(a-b))/3/(a+b)   sqrt(abs(a-b))/(3*(a+b))   sqrt(fabs(a-b))/(3*(a+b))   假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是_____【参考答案】   c+10*a+100*b   100*b+10*a+c   若s是int型变量,s=6;则表达式s%2+%2的值为_____1   表达式8/4*

文档评论(0)

mmrs369 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档