您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页关于C语言负数在内存中的存储

关于C语言负数在内存中的存储

来源:爱go旅游网

     今天舍友问了我个C语言问题,问题是这样的:以给unsigned char类型赋以负数值,得到的结果是什么?这里涉及到了负数在内存里面是如何存储的。实际上负数在内存中是使用补码存储的,为什么要以补码来存储呢?这是个规定,但是为什么这样规定呢?把负数用补码来记,这样正数与负数加的时候,只要直接相加就可以得到结果。负数与负数加的时候,只要符号位不搞错,其余部分直接相加。这样子运算就很方便。

    回到舍友的问题,C语言你以%d的格式输出unsigned char(-1)的话,-1在内存中的存储是11111111,即-1的补码形式,如果当无符号数即正数来处理的话,得到的值是255。所以从内存中的存储考虑这个问题就不会出错了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务