當前位置:首頁 » 操作系統 » 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 16:50:25 瀏覽:45
dos強制刪除文件夾 發布:2024-11-07 16:41:05 瀏覽:294
java協程框架 發布:2024-11-07 16:30:55 瀏覽:380
預測擬合演算法 發布:2024-11-07 16:30:45 瀏覽:663
橙光原始密碼是多少 發布:2024-11-07 16:24:33 瀏覽:34
安卓電話密碼是什麼 發布:2024-11-07 16:14:44 瀏覽:317
戰網客戶端文件夾 發布:2024-11-07 16:02:42 瀏覽:123
我的世界伺服器轉賬點券的指令 發布:2024-11-07 15:57:34 瀏覽:268
馬桶解壓 發布:2024-11-07 15:57:32 瀏覽:890
手機游戲蘋果和安卓哪個好 發布:2024-11-07 15:55:36 瀏覽:701