7/27 进制转换

/转10进制                                                                   16进制转8进制

41BD(16)                                                     5312.2(8)                                              4CD5.B3

=4*163+1*162+11*161+13*160                =5*83+3*82+1*81+2*80+2*8-1                = 0100110011010101.10110011(2)

=16384+256+176+13                             =2560+192+8+2+0.25                          =46325.263

=16829                                                  = 2762.25

A1OC.8(16)                                               11001.001(2)                                8进制转16进制

=10*163+1*162+0*161+12*160+8*16-1          =1*24+1*23+1*20+1*2-3                                         25671.23(8)

=40960+256+12+0.5                                          =16+8+1+0.125                                                         =010101110111001.010011(2)

=41228.5                                                             =25.125                                                                      =2bb9.13

=1*82+4*81+6*80+1*8-1                                    =1*26+1*25+0*24+1*23+1*22+0*21+1*20+1*2-1+1*2-2

64+32+6+0.125                                                    =109.75

102.125

时间: 2024-10-06 12:19:44

7/27 进制转换的相关文章

黑马程序员------进制转换

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 在java中数字的表现形式一般有二进制,八进制,十进制,十六进制等,在平时的编程中我们可以通过java提供的API函数方便的实现各个进制间的转换,如:Integer.toHexString(int i)--十进制转十六进制:Integer

进制转换(负进制) Luogu 1017

最近匆忙刷题,突然发现自己数学废掉了 ,居然忘了进制转换了QAQ~,后来我身边的王大佬又教了我一遍. 进制转换多数用的是短除法(别人是这么叫的),就是除以进制数后,记录余数,一直除到零为止,然后把记录的余数倒序输出,10及以上的用A.B等字母表示.然而如果遇到负进制(******),就应考虑到余数为负数的情况,例如:-3 mod -2 = -1 ,这时,就应该给这个余数加上进制数的绝对值,同时将整除得到的数加上现在的余数,为了保证计算的正确性,因为我们给余数加了进制数,就相当于做除法时 被除数

2~62位任意进制转换(c++)

进制转换的符号表为[0-9a-zA-Z],共61个字符,最大可表示62进制. 思路是原进制先转换为10进制,再转换到目标进制. 疑问: 对于负数,有小伙伴说可以直接将符号丢弃,按照整数进行进位转换,最后再将负号补回来,我认为这种做法是不对的. 正确的做法是:考虑好按照16位(short)还是32位(int)抑或64位(long long),先求出二进制补码(这时候就正负数就统一了),将二进制数转换为十进制后在转换为其他进制(如果有小伙伴知道如何直接将二进制转换为任意进制的方法可以留言告诉我,不胜

九度oj 题目1080:进制转换

题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出. 输出: 输出X的N进制表示的数. 样例输入: 16 10 F 样例输出: 15 提示: 输入时字母部分为大写,输出时为小写,并且有大数据. 这题初看起来另我头疼,考虑不难但是很麻烦 一开始想的比较绕,准备先把任意进制转换成10进制,再转化成n进制,于是写出了下面的代码 1 #include

hdu 2031 进制转换

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2031 题目大意:进制转换,先变成十进制在进行进制间的转化. 1 #include<stdio.h> 2 int main() 3 { 4 int n,m,i,j,f,p; 5 char a[200]; 6 while(scanf("%d%d",&n,&m)!=EOF) 7 { 8 i=0; 9 p=0; 10 if(n<0) 11 { 12 p=-1; 1

lua之m进制转换为n进制-任意进制转换算法

够无聊的写这个,为防止需要的人也无聊一遍,写个吧 算法有n种,但是,咱们一种就够用了 1 --数组倒序排列 2 local function orderByDesc( input ) 3 local output = {} 4 local count = #input 5 while count > 0 do 6 table.insert(output, input[count] ) 7 count = count -1 8 end 9 return output 10 end 11 12 --

常用进制转换

原文:常用进制转换 最近的工作中,需要接触到一些硬件设备,处理这些设备的通讯,因此需要进行一些进制的转换.      其实,二进制.十六进制这些基本的知识,在我们刚学编程的时候,基础课应该已经讲过的了.但是,包括我自己在内,当时也仅仅是知道一般的换算规则,但是具体怎么应用,在c#中又是如何表示,也是近期才有比较深的体会.      具体的知识,各位就自己查看相关的基础知识了,这里我只给出自己在工作中的体会和实际的类库.      首先,先解释下C#的类型.一般,我们常用的有 byte.short

进制转换( C++字符数组 )

注: 较为简便的方法是用 整型(int)或浮点型(long.double 注意:该类型不一定能够准确存储数据) 来存放待转换的数值,可直接取余得到每一位数值 较为稳定的方法是用 字符数组储存待转换的数值,这将能够完整存储数据,但是也相对于代码较长 进制转换只需要两步: R -> 十  或者  十 -> R  (R表示除十进制的任意进制,10表示十进制) 以下是较为完整的全部代码,若是实现如何转换的,主看: void Ten_Other(char[],int,int,char[],int&

洛谷1017 进制转换

洛谷1017 进制转换 本题地址:http://www.luogu.org/problem/show?pid=1017 思路: 其实和普通的进制转换一样,只是要转换成负进制时,余数可能为负数.因此只要多加一个判断余数是否为负数,当余数为负数时,余数自减除数,商自增即可. 1 #include <cstdio> 2 #include <stack> 3 using namespace std; 4 void work(int n, int m) 5 { 6 int t; 7 stac