m0_61906186 2021-12-08 09:05 采纳率: 90.9%
浏览 13
已结题

格式输出函数 无符号整型

格式输出函数 无符号整型
为什么-1用%u输出是65535啊
是怎么转化的呢

  • 写回答

1条回答 默认 最新

  • 不务正业的学长 2021-12-08 11:04
    关注

    1、计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 [1] 。在计算机系统中,数值一律用补码来表示和存储
    2、int在计算机中占4个字节,int默认是有符号的整型。
    原码:10000000 00000000 00000000 00000001
    反码:11111111 11111111 11111111 11111110
    补码:11111111 11111111 11111111 11111111
    3、%u表示的就是unsigned int。65535
    补码:11111111 11111111 11111111 11111111
    反码:11111111 11111111 11111111 11111111
    原码:11111111 11111111 11111111 11111111
    4、对原码、反码、补码的转换机制得有了解。
    正数反码等于原码,正数补码等于原码。
    负数反码等于原码符号位不变,其余取反,负数补码等于反码+1。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 深度学习残差模块模型
  • ¥20 两个不同Subnet的点对点连接
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)