首页 > 试题广场 >

10进制 VS 2进制

[编程题]10进制 VS 2进制
  • 热度指数:21404 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
    对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。     例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。

输入描述:
    一个1000位(即10^999)以内的十进制数。


输出描述:
    输入的十进制数的二进制逆序数。
示例1

输入

173

输出

181
头像 philos
发表于 2021-02-05 21:09:49
思路 比如 173,二进制形式是 10101101,我们在求二进制形式的时候求出来的结果其实就是倒着的,那么我们刚好就可以直接算出来逆序的二进制形式对应的值。 但是因为 A 可能是一个非常大的数,所以直接算不合适,所以我们需要记住一个进制转换的模板!很重要,划重点。这其实是一个模拟竖式除法的过程(数 展开全文
头像 渺小小螃蟹
发表于 2021-06-10 11:28:53
#include<iostream> #include<cstdio> #include<string> #include<vector> using namespace std; string Divide(string str,int x) 展开全文
头像 猫和老鼠之张鱼小丸子
发表于 2024-03-05 21:35:45
犯了一个错误,就是加法和乘法最后都需要看有无进位,如果有,则需在前添1。 因为没有考虑到加法也需要,我找了好几十分钟,希望以后吸取教训,不再犯同样的错误,大家也注意一下!!! #include <iostream> #include <cmath> using namesp 展开全文
头像 czhappy
发表于 2020-04-06 10:41:43
利用Java大数即可,详情请看代码 import java.math.BigInteger; import java.math.BigDecimal; import java.util.Scanner; import java.util.Vector; public class Main { 展开全文
头像 鱼儿恋上水
发表于 2020-03-24 15:16:32
高精度的进制转换:https://www.cnblogs.com/kuangbin/archive/2011/08/09/2132467.html编写一个进制转换函数,由转换过程可知,保存大数求模的数组已经是逆序的,只要删除数组开头连续的0,再用进制转换函数转换为10进制即可。代码如下: #incl 展开全文
头像 牛客600247800号
发表于 2022-02-25 19:15:22
从二进制转十进制,只需从低位到高位依次加上各数位的值,并不断乘以2就能实现转换。由于是对字符串进行操作,因此需要重新编写两个函数来实现字符串对应的乘法和加法操作。 对于乘法运算,函数的做法是将字符串从低位到高位逐位乘以乘数。如果某位乘以乘数后超过了10,那就让其对10取模,并保留进位。之后,将进位和 展开全文
头像 土尔逊Torson
发表于 2023-05-04 00:03:37
//土尔逊Torson 编写于2023/5/04 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <string> #include <vector 展开全文
头像 Chisatowo
发表于 2025-03-20 19:02:08
采用大数除法来实现进制转换,容易错的一个误区在于不用执着于利用字符串的最后一位进行求余,当你从m进制转换为n进制且n > m时不能这么做, 只能通过大数除法做除留余数进行进制转换. #include<bits/stdc++.h> using namespace std; typed 展开全文
头像 烤肉__
发表于 2022-01-29 14:11:06
#include <iostream> #include <vector> #include <iostream> #include <algorithm> using namespace std; vector<int> bas_cha 展开全文
头像 宁静的冬日
发表于 2022-03-05 10:18:05
【C++】已通过 核心思路: 首先写出string模拟人工计算的乘2,除2,的函数mul和div,返回值用string返回 利用div可以将10进制s化成二进制bin_s,然后利用mul将bin_s化成s,解决。 注意:转换过程中,注意字符串的正逆序。 ">#include<string& 展开全文