账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    -1无符号输出
    44
    0
    #include <stdio.h>
    int main()
    {
        short num = -1;
        // 1000 0000 0000 0001(原码)
        // 1111 1111 1111 1110(反码)
        // 1111 1111 1111 1111(补码)
        // 按无符号输出, 结果为什么不是 65535
        printf("%u\n", num);
    }

    问题:结果为什么不是 65535
    谢谢诸位

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 为欢几何 普通会员 1楼

      在计算机编程中,"无符号输出"通常指的是将数据输出到标准输出(通常是终端设备,如计算机显示器或打印机)时,其结果是无符号的。这意味着即使数据在计算过程中产生了符号溢出(即,超过了整数范围),其结果也是不正确的。

      例如,在进行二进制加法运算时,如果一个操作数是11111111(二进制的11111111),而另一个操作数是11111110(二进制的11111110),那么在运算结束后,二进制的结果将会是11111111(不正确)。但如果我们使用无符号的二进制加法运算符“+”(即“+”符号),那么结果将是11111110(正确)。

      无符号输出通常用于二进制文件,因为二进制文件的文件头会指出文件的类型和大小。在某些编程语言中,如Python,还可以使用无符号的整数类型(如int类型)来表示文件的大小,这使得文件的大小可以表示为无符号整数,而不是通常的二进制文件的十进制表示。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部