
这里除了局部变量没有赋初始值还有什么其他的问题??→_→( ・⊝・∞)凑字数
就是m没有初始值,别的起码从编译的角度没错。
不知道你这个问题是否已经解决, 如果还没有解决的话:
- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7636476
- 你也可以参考下这篇文章:在循环语句里面发送请求提示语句有多条时,只重复提示最后一条的解决办法
- 除此之外, 这篇博客: 计算机组成原理学习笔记(1.计算机系统概述 2.数据的表示和运算)中的 定点数的表示 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
定点数和浮点数
- 定点数:我们所习惯的方式,显示的表明小数点的位置
- 浮点数:科学计数法的方式表示,

本节总览
- 原码,反码,补码,移码是重点,高频考点,熟练掌握这几种码的表示以及相互转化
- 多做题自然就会熟练掌握

无符号数的表示
- 只表示数值,没有符号,无符号数的表示范围
- 通常只讨论无符号的整数,没有无符号的小数

有符号数的定点表示
- 有符号数的定点表示是把定点正数和定点小数分开表示
- 规定定点整数的最高位为符号位,默认小数点就在最低位的后面
- 规定定点小数的最高位为符号位,默认小数点就在符号位的后面
- 一个定点数,去掉符号位,剩下的就是数值部分,也成为尾数

原码
- 书写时注意看原题要求,如果规定了定点数需要占多少位,就要把该有的0补上,如果没有规定,则可以把多余的0省略掉,
- 比如定点整数的数值部分的高位的多余的0,和定点小数的数值部分的低位的多余的0
- 注意,定点数的最高位是符号位,不代表数值

原码的表示范围

反码
- 反码与原码是一一对应的,所以反码与原码的表示范围是相同的
- 也有+0和-0
- 取反的时候只是数值部分取反,符号位不变
- 反码只是原码转为补码的中间状态,实际没什么用

补码
- 正数的补码=原码,负数的补码=反码+1,要考虑进位
- 补码的真值0只有一种表现形式,多出来的一个表现形式,我们来人为规定了
- 多出来的人为规定的,正数给了-2的n次方,小数给了-1,机器字长n+1位
- 补码的表示范围,比原码多了一个

移码
- 在补码的基础上把符号位取反
- 移码与补码是一一对应的关系,表示范围也相同,真值0只有一个表现形式
- 为什么设置移码?移码在他的表示范围内,可以直观的看到整个二进制数值是递增的(从负到正),有利于计算机硬件进行比较大小


几种码表示定点整数

练习

知识回顾

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^