题目

BUPT 2018 计算机 ProblemA

输入数据组数t,每组数据输入一个十进制数x(0<x<2^32),将其二进制位反转(共32位),然后输出对应的十进制数

提示

2^32-1超出了int的范围,请使用long long

示例

输入

2
2
3

输出

1073741824
3221225472

题解

很好的一道题,练习了十进制转二进制二进制转十进制

需要注意的是,十进制转二进制用的这个算法得到的二进制本身就是反转的,因此本题得到二进制之后直接转成十进制就是所求结果
但是如果需要正确的二进制结果需要倒序输出

#include<bits/stdc++.h>
using namespace std;
//十进制->反转的二进制
//结果用数组存储,作为返回值
vector<int> T2B(long long int x)
{int i;vector<int>b(32);//存储二进制反转结果//十进制转二进制这个算法的结果本身就是反转的二进制for(i=0;x>0;i++){b[i]=x%2;x/=2;}return b;
}
//二进制->十进制
long long int B2T(vector<int>b)
{long long int res=0;//过程很像string转intfor(int i=0;i<b.size();i++){res*=2;res+=b[i];}return res;
}
int main()
{int t;cin>>t;for(int i=0;i<t;i++){long long int x;cin>>x;vector<int>bin=T2B(x);cout<<B2T(bin)<<endl;}
}

改进

今天在Leetcode上看到了更简单的解法

#include<bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;for(int i=0;i<t;i++){long long int x;cin>>x;long long int res=0;int power=31;while(x){res+=(x&1)<<power;x=x>>1;power--;}cout<<res<<endl;}
}

小结

十进制转二进制

口诀:先模再除倒输出

代码:参考Day4-二进制

二进制转十进制

口诀:先乘再加

代码

//二进制->十进制
long long int B2T(vector<int>b)
{long long int res=0;//存储十进制结果//先乘再加//过程很像string转int,只是10换成2for(int i=0;i<b.size();i++){res*=2;res+=b[i];}return res;//返回十进制
}

【机试备考】Day16-二进制数字翻转 | 二进制和十进制的相互转化相关推荐

  1. 2023华为OD机试备考攻略 以及题库目录分值说明 考点说明

    刷题库,刷题库 刷题库.重要的事情说三遍!!!!!!!!!!!!!!!!!!!!!! 要刷有多种语言的实现的题库,一种语言看不懂可以换另一种语言,而且可以结合起来去重!!! 类似下面这种的题库: 华为 ...

  2. 2023 华为OD机试备考攻略 以及题库目录分值说明 考点说明 (A卷+ B卷)

    文章目录 华为OD在线刷题OJ 华为题库 更新说明 支持的语言 题库目录 华为OD统一考试[A卷]题库-100分 华为OD统一考试[A卷]题库-200分 华为OD统一考试[B卷]题库-100分 华为O ...

  3. 机试备考——刷题攻略

      为了准备保研的机试,在学习完常见算法后,开始了刷题!看了一些大佬的心得分享,总结了一下.   题目类型分为:   数组.字符串.高精度计算.排序.递推.递归.搜索与回溯.贪心算法.分治算法.动态规 ...

  4. 2021微软暑期实习机试,负进制转换,十进制转-2进制

    2021微软暑期机试题,进制转换 一 前言 二 解题步骤 2.1 题目描述 2.1.1 简述前两题 2.1.2 2.2解题思路 2.3代码思路 三 问题和启发 3.1 遇到的一些问题 3.2 考虑-3 ...

  5. 2023 华为OD机试备考攻略 以及最新题库目录分值说明 考点说明

    华为od机试题库

  6. 【机试备考】Day15-Special数 | 平方数立方数判断

    题目 BUPT 2017 计算机 ProblemA 设一个正整数既是平方数又是立方数时,称之为Special数.输入包含多组测试用例,第一行输入测试数据的组数,接着在后续每行输入n的时候,请输出1到n ...

  7. 【机试备考】Day11-复数集合 | 运算符重载

    题目 BUPT 2011 网研 ProblemB 一个复数(x+iy)集合,两种操作作用在该集合上: 1.Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出 empty ,不为空就输出最大 ...

  8. 2019北邮计算机院机试真题

    目录 19计算机院机试真题 Problem A 二进制 Problem B 二叉树 Problem C 最短路径 Problem D 方块阵 19计算机院机试真题 计算机院的机试题真难,没有4A的,第 ...

  9. 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结

    最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中最常用的进制转换问题.什么IP地址,什么子网掩码,什么网路地址,什么广播地址都会用到二进制和十进制的相互转化,而且最常用的 ...

最新文章

  1. Transformer又出新变体∞-former:无限长期记忆,任意长度上下文
  2. 你真的了解javascript吗?(一)
  3. [C++] 我们需要掌握多少语法细节
  4. 数据结构的一些命名英文全称
  5. AT2305-[AGC010D]Decrementing【博弈论】
  6. 专题:生物医疗大数据
  7. NASA 传奇数学家去世,她曾笔算了登月轨道
  8. corelab mysql_ALinq 让Mysql变得如此简单_MySQL
  9. 笔记.NET基础知识05
  10. 中国特威兹勒行业市场供需与战略研究报告
  11. SQL2008数据库可疑状态处理
  12. 简单的Markdown解析器
  13. opencv中rect的用法
  14. 文字转语音文件现成工具
  15. 图像处理与计算机视觉:基础,经典以及最近发展
  16. Urgent VS Relex
  17. SAS更新SID问题
  18. 和极有家一起玩转智能家居——极有家未来之家合作招募
  19. python工资自动发放_python自动化办公--协助财务自动发送工资条
  20. 【一】MADDPG-单智能体|多智能体总结(理论、算法)

热门文章

  1. Games101学习笔记四 辐射度量学
  2. 夜雨数竞笔记-不定积分-思维导图
  3. java设计模式 英文版_Java设计模式(第2版)(精装英文版)
  4. 腾讯微博qq说说备份导出工具_微信重要数据怎么保存?微信聊天记录备份可以吗?...
  5. 一剑霜寒十四州——浅析内存分区(浅显)
  6. ubuntu 更新linux内核,在Ubuntu中,如何更新Linux内核
  7. 下载有道词典遇到的问题
  8. 最值得收藏的 C++ 清华大学郑莉版全部知识点思维导图整理, 东南大学软件工程初试906科目
  9. Ubuntu20.04下NVIDIA驱动+anaconda3+cuda+cudnn+pytorch安装
  10. 2019企鹅号自媒体阅读量怎么计算收益