格式输出函数 无符号整型
为什么-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。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 深度学习残差模块模型
- ¥20 两个不同Subnet的点对点连接
- ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
- ¥15 差动电流二次谐波的含量Matlab计算
- ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
- ¥15 C#如何调用串口数据
- ¥15 MATLAB与单片机串口通信
- ¥15 L76k模块的GPS的使用
- ¥15 请帮我看一看数电项目如何设计
- ¥23 (标签-bug|关键词-密码错误加密)