中文乐高

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 393|回复: 1

求助各位大佬,蓝桥杯EV3的题目

  [复制链接]
发表于 2022-12-23 14:30:02 | 显示全部楼层 |阅读模式
10乐币
求助求助,谢谢
4b6858e23bbef6ee7293864f784b307.png

最佳答案

查看完整内容

主程序 思路 1先随机7个0和1组成一个随机的8位2进制数字,这里随机7次是因为第一位我默认的是1 11111111,01111111这种第一位是0的个人认为是7位2进制数字而非8位,所以第一位肯定是1,只要随机后面7位就可以了。这里用变量0,变量1来分别统计0,和1的数量(题目2)。这里为了方便后面转10进制所以用数组来记录每一位是0还是1. 2显示2进制数字,这里是用之前的数组进组转换,把数组里的0 1组合成一个2进制数字存在一个变量 ...
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2022-12-23 14:30:03 | 显示全部楼层
本帖最后由 xd62215135 于 2023-1-1 12:29 编辑

主程序
思路 1.png
1先随机7个0和1组成一个随机的8位2进制数字,这里随机7次是因为第一位我默认的是1   11111111,01111111这种第一位是0的个人认为是7位2进制数字而非8位,所以第一位肯定是1,只要随机后面7位就可以了。这里用变量0,变量1来分别统计0,和1的数量(题目2)。这里为了方便后面转10进制所以用数组来记录每一位是0还是1.
2.png
2显示2进制数字,这里是用之前的数组进组转换,把数组里的0 1组合成一个2进制数字存在一个变量里。
3.png
2.2这个跟上面用途是一样的,只是不同的思路。这个并没有把数组里的数组组合成一个2进制数字,而是用文本直接组合,排列在一起。这个较简单一些,但如果后面需要这个2进制数字进行一些其他操作的话就比较麻烦了。
xian2.png
3这个比较简单,显示题目2,  0 和1 的数量
4.png
4转化成10进制,
二进制转化为十进制的计算方法为:1、无符号整数,从右往左依次用二进制位上的数字乘以2的n次幂的和(n大于等于0);2、带符号的二进制整数,除去最高位的符号位(1为负数,0为正数),其余与无符号二进制转化为十进制方法相同;3、小数二进制转化为十进制数,从小数点后第一位上的二进制数字乘以2的负一次方加上第二位上的二进制数字乘以2的负二次方,以此类推第n位上的二进制数字乘以2的负n次方。
这里不涉及负数和小数,从二进制数的右边第一位起,从右往左,先用二制位置上的数乘以2的相应位数的幂,然后把每一位的乘积相加即可得到二进制数对应的十进制数。


【例题】把二进制数1101001转化为十进制数。


解析:从二进制数1101001右边第一位开始,第一位的数字是1,则有1=1,第二位的数字是0,则有0=0,第三位的数字是0,则有0=0,第四位数字是1,则有1=8,第五位数字是0,则有0=0,第六位数字是1,则有1=32,第六位数字是1,则有1=64。

再把所有积相加即可得1+0+0+8+0+32+64=105,故二进制数1101001转化为十进制数是105。
5.png
5转化成8进制。
这里转化选择的是10进制转8进制,2进制转8进制比较麻烦。既然10进制的数字已经算出来了,所以干脆用10进制转8进制。
这里用的直接法。用10进制的数除以8,直到最后的商数是0,取后面的余数,从下往上取。10进制就是到我们常用的这种计数方法,8进制主要运用在计算机中。
微信截图_20221225212704.png
这里也是用数组来存储余数。
6.png
6转化成8进制
7.png
6.2同样可以用上面的方法用文本来解决。
xian_8.png


如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|中文乐高 ( 桂ICP备11003955号-1 )

GMT+8, 2023-2-3 05:11 , Processed in 0.024220 second(s), 20 queries .

快速回复 返回顶部 返回列表