距离蓝桥杯56天

学习算法的目的是为了提升自己

感谢某站对三种码的讲解 传送门原码 反码 补码_哔哩哔哩_bilibili

题目链接

问题分析:很多小伙伴一定和小郑一样 对 题干说明的:给出字节作为有符号整数的值 不理解在一开始的时候 为什么会有负数?对于和小郑一样的小白来说,一个字节八位,表示的数据范围[00000000,11111111]即[0,255] 哪儿来的负数?

其实 上面的这种认识是基于无符号数据,实际上,数值数据还有一种叫做有符号数据

有符号数据有三种表示法:原码,反码,补码

只要了解了原码 后面两种码迎刃而解

8位原码 最高位0表示正号,1表示负号 后七位的范围是[0,127]

所以8位原码的范围[-127,127] 所以确定一个数字的原码分两步:1:正负号决定最高位 2:数字的绝对值决定后七位

懂了原码 反码就好理解了:反码基于原码,除了最高位(符号位),其余取反

懂了反码 补码就好理解了:补码基于反码 在反码的基础上+1

而这三种码,补码最重要 因为在计算机系统中,数值一律用补码来表示和存储。

所以下面着重研究算补码的办法(本题也基于补码)

先研究负数:

举个例子:求-1的补码 那么我们已知-1的原码为10000001

那么-1的反码为11111110 那么-1的补码为11111111

就这么简单。然后对于负数[-127,-1]都可以按照上述类似求-1的方法计算

然后对于-128,我们规定它的补码是10000000

再研究正数:

正数的补码=正数的反码=正数的原码    综上8位补码的表示范围[-128,127]

所以,了解了三种码以后(最重要的是补码),回归题目,现在对字节作为有符号整数的值的概念是不是清晰了?实际上就是让我们求每个整数的补码

每行汉字有32个字节构成,16*16的像素:一行2个字节,一个字节8位,组成16行

因此把它打印出来即可:所以问题在问九的九次方是多少?

s="""4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0
16 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 100 66 36 66 4 66 4 66 4 126 4 66 40 0 16
4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0
0 -128 64 -128 48 -128 17 8 1 -4 2 8 8 80 16 64 32 64 -32 64 32 -96 32 -96 33 16 34 8 36 14 40 4
4 0 3 0 1 0 0 4 -1 -2 4 0 4 16 7 -8 4 16 4 16 4 16 8 16 8 16 16 16 32 -96 64 64
16 64 20 72 62 -4 73 32 5 16 1 0 63 -8 1 0 -1 -2 0 64 0 80 63 -8 8 64 4 64 1 64 0 -128
0 16 63 -8 1 0 1 0 1 0 1 4 -1 -2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 5 0 2 0
2 0 2 0 7 -16 8 32 24 64 37 -128 2 -128 12 -128 113 -4 2 8 12 16 18 32 33 -64 1 0 14 0 112 0
1 0 1 0 1 0 9 32 9 16 17 12 17 4 33 16 65 16 1 32 1 64 0 -128 1 0 2 0 12 0 112 0
0 0 0 0 7 -16 24 24 48 12 56 12 0 56 0 -32 0 -64 0 -128 0 0 0 0 1 -128 3 -64 1 -128 0 0"""
a=s.split('\n')dict={}def reverse(str):ans=''for i in str:ans+='0' if int(i)==1 else '1'return ansfor j in range(-128,128):if j>=0:dict[j]=(8-len(bin(j)[2:]))*'0'+bin(j)[2:]elif j==-128:dict[j]='10000000'else:tmp=reverse((7-len(bin(abs(j))[2:]))*'0'+bin(abs(j))[2:])#除了符号位取反tmp_add=bin(int(tmp,2)+1)[2:]#+1dict[j]='1'+(7-len(tmp_add))*'0'+tmp_addfor i in a:tmp=list(map(int,i.split()))start=0#end=31while start<=30:s=dict[tmp[start]]+dict[tmp[start+1]]print(s)start+=2print('\n')

由于长度过长,就放一张‘九的’好了,具体可自行运行代码

​​​​​​​        ​​​​​​​我是小郑 正在奔赴热爱 奔赴山海 

蓝桥杯 真题:明码 一题掌握3种码相关推荐

  1. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  2. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

  3. 【蓝桥杯真题】16天冲刺 Python

    距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和  ...

  4. 蓝桥杯真题:三羊献瑞

    蓝桥杯真题:三羊献瑞 观查下面的加法算式: 其中相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容. 分析 ...

  5. # 2014年蓝桥杯真题CC++B组

    2014年蓝桥杯真题C/C++B组 1.啤酒和饮料 题目描述 啤酒每罐2.3元,饮料每罐1.9元,小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道她买的啤酒比饮料的数量多,请你计算他买了几罐啤 ...

  6. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

  7. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf

    scratch 少儿编程第十届蓝桥杯真题 7 大家好 ~今天我们来讲解 scratch 蓝桥杯第十届编程大题的第七道题. 同样,这道题也是非常有难度的一道题.一起来看一下吧 解析: 女孩的程序 1.在 ...

  8. 第九届蓝桥杯真题解析JavaC组

    第九届蓝桥杯真题解析JavaC组 文章目录 ***第九届蓝桥杯真题解析JavaC组*** 前言 A.哪天回家 B.猴子分香蕉 C.字母阵列 D.第几个幸运数 E.书号验证 F.打印大X G.缩位求和 ...

  9. 蓝桥杯真题2017-2021

    刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...

  10. 蓝桥杯真题练习-棋盘放麦子

    蓝桥杯真题练习-棋盘放麦子 ## 填空题 2012 省赛 题目地址 题目概述 就是说有一个64个格子的棋盘,第一个格子放一粒麦子,第二个两粒,第三个四粒,第四个八粒,依次类推,最终需要多少麦子. 思路 ...

最新文章

  1. 凝思操作系统启动盘制作_实用!如何快速制作U盘启动盘并且重装系统
  2. pip安装时报错:以一种访问权限不允许的方式做了一个访问套接字的尝试
  3. u盘读写测试_如何提高u盘读写速度 提高u盘读写速度方法【详细步骤】
  4. 第二章 mybatis使用注解实现in查询(mysql)
  5. linux启动服务需要ubb文件吗,如何开启tuxedo的snmp监控
  6. 关于计算机网络的鼻祖是,笔记本的前世今生!谁才是笔记本的开山鼻祖?
  7. 5-32 说反话-加强版
  8. mysql优化方法_mysql优化方案总结
  9. UNICODE与ASCII码的关系(MTK)
  10. FishC笔记—21 讲 函数:lambda表达式
  11. 基于springboot助学贷款管理毕业设计源码061528
  12. Pandas库的基本使用方法
  13. Excel的Text函数详解
  14. 杭州卧兔:全球品牌出海峰会大咖集聚讲述品牌出海关键要素
  15. 金融市场一周简报(2017-08-18)
  16. 2020最后一天 || 时间相关单光子计数技术的原理和优点
  17. T-SQL: DBCC CHECKALLOC
  18. Docker知识点总结
  19. Java小游戏项目:推箱子游戏
  20. chrome浏览器字体小于12px的解决方式

热门文章

  1. 中公教育python教师_为什么中公教育、华图的老师不自己去考公务员?
  2. 授权服务是如何颁发授权码和访问令牌的?
  3. Android手机刷机介绍
  4. p39 8.由以下三个集合,集合成员分别是会Python、C、Java的人员。
  5. 2022鲁大师评测沟通会开启汽车评测新赛道
  6. 高德地图添加Marker点标记
  7. 问:python-dev是什么?为什么安装了python后有时还要安装python-dev?
  8. 阿里云ECS迁移数据流程
  9. 输出一个小游戏——三子棋
  10. 为什么体适能一直显示服务器,一种体适能检测方法及系统