当前位置:首页 » 操作系统 » 36进制算法

36进制算法

发布时间: 2022-06-19 15:03:41

A. 十进制数36用34进制算法是不是等于12

没错,计算正确

B. 所有进制的算法

#include <stdio.h>void a();void b();void c();void main(){ int s; do { printf("0.退出\n1.十进制~二进制\n2.十进制~八进制\n3.十进制~十六进制\n请选择:"); scanf("%d",&s); if(s==0) { break; } switch(s) { case 1: a();break; case 2: b();break; case 3: c();break; default:printf("输入有误!请输入0~4之间的数\n");break; } }while(1);}void a(){ int num,p[100],n=0,i; printf("请输入一个十进制整数:"); scanf("%d",&num); while(num!=0) { p[n]=num%2; num/=2; n++; } for(i=n-1;i>=0;i--) { printf("%d",p[i]); } printf("\n");}void b(){ int num,p[100],n=0,i; printf("请输入一个十进制整数:"); scanf("%d",&num); while(num!=0) { p[n]=num%8; num/=8; n++; } for(i=n-1;i>=0;i--) { printf("%d",p[i]); } printf("\n");}void c(){ int num,p[100],n=0,i; printf("请输入一个十进制整数:"); scanf("%d",&num); while(num!=0) { p[n]=num%16; num/=16; n++; } for(i=n-1;i>=0;i--) { if(p[i]<10) { printf("%d",p[i]); } else { switch(p[i]) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; } } } printf("\n");} 答案补充 10进制数转化成R进制数就是不断地 取余、整除,最后把所有余倒序排列 比如:6转化成2进制数的步骤是,6取2的余是0,整除得3,3取2的余是1,整除得1,1取2的余是1,整除2得0,计算结束,再把所有余倒序排列,即110。
其它进制也是同样的道理,如果进制大于10,就要用ABCD来分别表示10进制中的(10、11、12、13、14),可以去查询下权的概念

C. 怎么样算一个数的二进制比如说,36的二进制是多少怎么算的

首先思考一下是十进制,比如365=3*10^2+6*10^1+5*10^0

这样你会发现一个规律,十进制转换=当前位的数*10^(位数-1)之和

这样你再去理解二进制,其实二进制就是将10这个量值换成2,去计算得出最终的结果,为什么称为二进制,当然是由于 每个位的数最大只能是1,逢二进一,就像十进制,逢十进一。

那么我们就来分析一下36怎么转换为二进制?

首先算一下2的1-10次方为多少

2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 2^5=32

2^6=64 2^7=128 2^8=256 2^9=512 2^10=1024

第二步

36=32+4=2^5*1+2^4*0+2^3*0+2^2*1+2^1*0+2^0*0

所以转化为2进制 就是100100

第三步

运用更好的方法获取二进制

辗转相除法

  1. 将值除以2,记下余数。

  2. 只要所得的商不为0,继续将最新的商除以2,并记下余数。

  3. 商为0时,将余数按照记录的顺序从下往上依次排列,即可得到该数的二进制。

这样就获取48的二进制位110000

48=32+16=2^5*1+2^4*1+2^3*0+2^2*0+2^1*0+2^0*0

D. 如何将十进制数36转换成二进制数

这个是有一个很简单的算法了,十进制转为二、八、十六进制的时候,用的是除法取余
比如36
就拿36除以2
首先36/2...得18余0
其次18/2...得9余0
再次9/2...得4余1
跟着4/2...得2余0
还有2/2...得1余0
最后1/2...得0余1
然后由下面的余数往上排,结果就是100100
其他的数字也可以用上面的方法
只要学会了,就不怕任何数的转换,下面介绍一下转八,十六进制的方法
36为例
36/8...得4余4
4/8...得0余4 由下往上排,结果就是(44)8
验证:4*8^1+4*8^0=32+4=36

36/16...得2余4
2/16...得0余2 结果就是(24)16
验证:2*16^1+4*16^0=32+4=36

这种方法基本可以将任何十进制数,任意转为二、八、十六进制.

E. 在PASCAL下 如何将36进制数化为10进制数(请提供算法)

输入:
输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。

输出:
输出仅一行,包含一个正整数,表示转换之后的m进制数。

样例:
change.in
16
FF
2

change.out
11111111

program asdf;
var
n,m,h,i:integer;
f:longint;
s:string;
a:array[1..2000]of char;
function fj(d:string):longint;
var
i,j,k:integer;
begin
fj:=0;
for i:=1 to length(d) do
begin
k:=1;
for j:=1 to length(d)-i do k:=k*n;
if (n<=10)or((d[i]>='0')and(d[i]<='10'))
then k:=k*(ord(d[i])-ord('0'))
else k:=k*(ord(d[i])-ord('A'));
fj:=fj+k;
end;
end;
procere fd(t:longint);
var
i:integer;
begin
h:=2001;
while t>0 do
begin
i:=t mod m;
dec(h);
if i<10 then a[h]:=chr(ord('0')+i)
else a[h]:=chr(ord('A')+i-10);
t:=t div m;
end;
end;
begin
assign(input,'change.in');
assign(output,'change.out');
reset(input);
rewrite(output);
readln(n);
readln(s);
readln(m);
f:=fj(s);
fd(f);
for i:=h to 2000 do
write(a[i]);
writeln;
close(input);
close(output);
end.

F. 如何用C语言做36以内的进制转换

main()
{ int a,b,k=0,s[99];
scanf("%d%d",&a,&b);
for(;a!=0;a/=b)
{k++;s[k]=a%b;}
for(;k>=1;k--)
printf("%d,",s[k]); /*转换后的数字每一位用‘,’隔开*/
getchar();
}

G. 求将一串十进制数字转成三十六进制的规则算法

十进制转换为r进制的方法都是一样的,除以r,直至商为0,余数倒过来写就是结果。

基础知识相信你懂,我这人懒,不行用这么大的数字,随便用个五位数例子吧:12345

截个图给你看。

36进制答案是 9IX


十进制100041539750 = 三十六进制19YI5E3Q

H. 如何把三十六进制转化成十进制

100以内一点的10转16心算比较快,复杂的用“计算器”算了。10转16用传统的计算方式可以了,就是大于15小于256的10进制数除以16为的值为十位的16进制数,其余数为个位的16进制数,没余数则个位为0。如61的16进制是3d,61除以16得3余13,3作十位数,13转成d为各位数。

I. 什么是36进制

三十六进制,是数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-Z组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-35。
进制说明:
36进制是 0-F ()

热点内容
酷狗号密码忘了怎么办 发布:2024-11-07 18:03:13 浏览:87
mupdf编译 发布:2024-11-07 18:02:58 浏览:32
sql时间筛选 发布:2024-11-07 17:59:53 浏览:860
为什么开机密码老不对 发布:2024-11-07 17:49:41 浏览:228
java源码编译 发布:2024-11-07 17:34:59 浏览:916
安卓手机怎么把视频拖到电视上 发布:2024-11-07 17:33:35 浏览:55
oracle数据库开发实例 发布:2024-11-07 17:31:27 浏览:641
安卓申请内测用哪个app 发布:2024-11-07 17:14:23 浏览:493
苹果支付密码怎么改密码忘了怎么办啊 发布:2024-11-07 17:10:37 浏览:941
安卓手机伪装是什么都能看到吗 发布:2024-11-07 17:09:11 浏览:165