⑴ 十進制怎麼轉換成八進制
利用電腦自帶的計算器可以將十進制轉換為八進制,以下步驟演示系統為windows7。
1、首先高圓在電腦的開始菜單,然後點擊「所有程序」選項戚敗塌。
⑵ C語言十進制怎麼轉換八進制,求詳細描述,不要編譯器運行的結果
十進制轉任意進制一般都是用除基取余法,比如說102轉8進制,
102除燃謹以8,商12,餘6
12除以8,商1,餘4
1除以8,商0,餘1
商為0的時候即轉換完成,將余數逆序連接起來就是結果,即10進制的102轉8進制為146
將上述過程轉為代碼就是
#include <stdio.h>
int main()
{
int number = 102, i=0, div, rem;
int system = 8;/顫氏/8進制
char s[50];
while (number) //除基取余法
{
div = number / system; //商
rem = number % system; //余
s[i++] = rem <= 9 ? rem + '0' : rem - 10 + 'A';
number = div; //上次的商賦給number
}
for (--i; i >= 0; i--)
printf("%c", s[i]);
printf("茄段散\n");
getchar();
return 0;
}
⑶ C語言 十進制數轉換八進制 演算法
方法一:直接使用控制字元串 %o 八進制%x
方法二:
求余來算,比如求十進制數 x(x>100) 的8進制,先通過 x%8 可以得到個位(末位)上的數,當十進制數等於陪搭擾8時,必然會進位,求余的結果正好是不能進位的部分,x=x/8(這就像位移,x的8進制數向右移了一位),這樣已經求出來的 個位 位移後沒有了,原來的十位變成了個位,繼續把得到的x按上面的方式求末位,就能求出來十位,按照這種方式得到的 8進制數 是反的(先得到個位,再十位。。。),這樣很適合放到棧中,取得時候又會反過來,偽代碼可以這樣寫:
while(x){
printf("%d",x%n);//會列印出x轉換為 N進制數 從低位到高位上的每一位數
x/=n;
}
十進制轉換N進制:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int INT;
typedef struct dd
{
INT data;
struct dd *next; 蘆旦
}LNode,*LStack;
LStack pushstack(LStack top,int x)
{
LStack p;
p=(LStack)malloc(sizeof(LNode));
if((x)!=-1) {p->data=(x); p->next=top; top=p;}
return top;
} 枝州
LStack outstack(LStack top,int *x)
{
LStack p=top;
*x=p->data;
top=p->next;
free(p);
return top;
}
main()
{
int x,n;
LStack top=NULL;
printf("請輸入原數及要轉換的進制:");
do{
scanf("%d%d",&x,&n); //輸入一個十進制數和要轉換的進制,比如3 2 得到1 }while(x>35||x<0||n<2);
while(x){ //這個循環把每一位放到棧中
top=pushstack(top,x%n);
x/=n;
while(top!=NULL)
{
top=outstack(top,&x);
if(x<10)
printf("%c",x+'0');
else
printf("%c",x+'A'-10);
}
return 0; }
⑷ 十進制小數怎樣轉換成8進制小數
十進制小數轉換成八進制小數採用"乘8取整,順序排列"法。
具體做法是:
用8乘十進制小數,可以得到積,將積的整數部分取出,再用8乘餘下的小數部分,又得到一滾毀枝個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
(4)編程十進制轉8進制怎麼算擴展閱讀:
八進制,Octal,縮寫OCT或O,一種以8為基數的計數法,採用0,1,2,3,4,5,6,7八個數字,逢八進1。一些編程語言中常常以數字0開始表明該數字是八進制。八進制的數和二進制數可以按位對應(八進制一位對應二進制三位),因此常應用在計算機語言中。
八進制(基數為8)表示法在計算機系統中很常見,因此,我們有時能看到人們使用八進製表示法。由於十六進制一位可以對應4位二進制數字,用十六進制來表示二進制較為方便。因此,八進制的應用不如十六進制余宏。有一些程序設計語言提供了使用八進制符號來表示數字的能力,而且還是有一些比較大敏古老的Unix應用在使用八進制。
⑸ 十進制轉八進制
十進制轉換為八進槐友制十進制轉換成鉛攔槐八進制有兩種方法:
1、間接法:先將十進制轉換成二進制,然後將二進制又轉換成八進制、
2、直接法:八進制是由二進制衍生而來的,因此可以採用與十進制轉換為二進制相類似的方法,還是整數部分的轉換和小數部分的轉換,
a、整數部分方法:除8取余法,即每次將整數部分除以8,余數為該位權上的數,而商繼續除以8,余數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個余數起,一直到最前面的一個余數。
b、小數部分方法:乘8取整法,即將小數部分乘以8,然後取整數部分,剩下的小數部分繼續乘以8,然後取整數部分,剩下的小數部分又乘以8,一直取到小數部分為零為止。如果永遠不能為零,就同十進制數的四捨五入一樣3舍4入。
(5)編程十進制轉8進制怎麼算擴展閱讀:
進位制/位置計數法是一種記數方式,故亦稱進位記數法/位值計數法,可以用有限的數字元號代表所有的數值。可使用數字元號的數目稱為基數(en:radix)或底數,基數為n,即可稱n進位制,簡稱n進制。現在最常用的是十進制,通常使用10個阿拉伯數字0-9進行記數。
對於任何一個數,可以衡伏用不同的進位制來表示。比如:十進數57(10),可以用二進製表示為111001(2),也可以用五進製表示為212(5),也可以用八進製表示為71(8)、用十六進製表示為39(16),它們所代表的數值都是一樣的。
⑹ 十進制如何轉換成八進制
方法1:採用除8取余法。
例:將十進制數115轉化為八進制數
8| 115?? 3
8| 14 ?? 6
8| 1 ?? 1
結果:(115)10 = (163)8
方法2:先採用十進制化二進制的方法,再將二進制數化為八進制數
例:(115)10 = (1110011)2 = (163)8
(6)編程十進制轉8進制怎麼算擴展閱讀:賀陵
八進制的優點
八進制廣泛應用於計算機系統,如PDP-8,ICL 1900和IBM大型機使用12位、24位或36位。八進制是這些基礎,因團亂為他們的最理想的二進制字縮寫大小能被3整除(每個八進制數字代表三個二進制數字)。四、八到十二個數字可以簡明地顯示整個機器。
它也降低成本使得數字允許通過數碼管,七段顯示器,和計算器用於操作員控制台,他們在二進制顯示使用過於復雜,然而十進制顯示需要復雜的硬體,十六進制顯示需要顯示更多的數字。
⑺ 十進制轉換八進制數是怎麼算出來的
1、十進制轉換二進制
2 /100 0
2/50 0
2/25 1
2/12 0
2/6 0
3/2 1
1/2 1
然後從尾到頭讀數就是 1100100
二進制轉換八進制是3位一組
所以就是 001 100 100 位數不夠,前面補0
2、八進制與二進制、十六進制之間關迅兆遲系與具體步驟
八進制 對應二進制 十六進制 對應二進制 十六進制 對應二進制
0 000 0 0000 8 1000
1 001 1 0001 9 1001
2 010 2 0010 A 1010
3 011 3 0011 B 1011
4 100 4 0100 C 1100
5 101 5 0101 D 1101
6 110 6 0110 E 1110
7 111 7 0111 F 1111
然後對應二進制數 八進制3為一組 十六進制4位一組
二進制1100100 對應八進制 001 100 100 就是八進制數 144
二進制1100100 對應十六進制 0110 0100 就是十六進制 64
(7)編程十進制轉8進制怎麼算擴展閱讀
1、十進制
人類天然選擇了十進制。
由於人類解剖學的特點,雙手共有十根手指,故在人類自發採用的進位制中,十進制是使用最為普遍的一種。成語「屈指可數」某種意義上來說描述了猜清一個簡單計數的場景,而原始人類在需要計數的時候,首先想到的就是利用天然的算籌——手指來進行計數。
2、二進制
二進制有兩個特點:它由兩個數碼0,1組成,二進制數運算規律是逢二進一。
為區別於其它進制,二進制數的書寫通常在數的右下方註上基數2,或加後面加B表示,其中B是英文二進制Binary的首字母。
3、八進制
由於二進制數據的基數R較小,所以二進制數據的書寫和閱讀不方便,為此,在小型機中引入了八進制。八進制的基數R=8=2^3,有數碼0、1、2、3、4、5、6、7,並且每個數碼正好對應三位二進制數,所以畝李八進制能很好地反映二進制。
八進制用下標8或數據後面加O表示 例如:二進制數據 ( 11 101 010 . 010 110 100 )2 對應八進制數據 (352.264)8或352.264O。
4、十六進制
由於二進制數在使用中位數太長,不容易記憶,所以又提出了十六進制數。
十六進制數有兩個基本特點:它由十六個數碼:數字0~9加上字母A-F組成(它們分別表示十進制數10~15),十六進制數運算規律是逢十六進一,即基數R=16=2^4,通常在表示時用尾部標志H或下標16以示區別,在c語言中用添加前綴0x以表示十六進制數。
5、進制轉換
進制轉換是人們利用符號來計數的方法。進制轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。
基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。
位權是指,進位制中每一固定位置對應的單位值。
⑻ C語言程序怎麼把十進制的數轉換成八進制的數
C語言程序十進制的迅襪數轉換成八進制的數的辦法:
#include <stdio.h>
#include <math.h>
void main()
{
int n,a,sum = 0,i =0;
printf("十進制輸出一個數n
"讓禪);
scanf("%d",&n);
while(n)
{
a = n%8;
n = n/8;
sum += a*pow(10,i);
i++;
}
printf("八畝滑激進制輸出sum:%d",sum);
}