10進(jìn)制轉(zhuǎn)8進(jìn)制算法 電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?
電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?二進(jìn)制轉(zhuǎn)換成八進(jìn)制需要記住對(duì)應(yīng)關(guān)系:二進(jìn)制000對(duì)應(yīng)八進(jìn)制0二進(jìn)制八進(jìn)制000001 1010 2011 3100 4101 5110 6111 7]]二
電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?
二進(jìn)制轉(zhuǎn)換成八進(jìn)制需要記住對(duì)應(yīng)關(guān)系:二進(jìn)制000對(duì)應(yīng)八進(jìn)制0
二進(jìn)制八進(jìn)制000
001 1
010 2
011 3
100 4
101 5
110 6
111 7]]二進(jìn)制轉(zhuǎn)換成八進(jìn)制的方法是取三位一體的方法,即從二進(jìn)制的小數(shù)點(diǎn)開始作為分界點(diǎn),左(或右)每三位取一位,如下面的問題所示:
010100.011101二進(jìn)制數(shù),每三位分組如下
010 100.011 101
分組后,根據(jù)二進(jìn)制和八進(jìn)制的對(duì)應(yīng)關(guān)系,寫出三位二進(jìn)制,即得到八進(jìn)制數(shù),小數(shù)點(diǎn)的位置不變。
010對(duì)應(yīng)2;100對(duì)應(yīng)4;011對(duì)應(yīng)3;101對(duì)應(yīng)5。
二進(jìn)制數(shù):010100.011101轉(zhuǎn)換為八進(jìn)制是24.35。
二進(jìn)制到十六進(jìn)制的轉(zhuǎn)換是一組四位數(shù)字
]0位(左或右)沒有足夠的數(shù)字
C語言程序中十進(jìn)制數(shù)到八進(jìn)制數(shù)的轉(zhuǎn)換方法:#include<stdio。H>#包含<math。H>void main(){INTN,a,sum=0,I=0printf(“decimal output a number nn”)scanf(%d”,&n)while(n){a=n%8N=n/8sum=a*pow(10,I)I}printf(“八進(jìn)制輸出sum:d”,sum)}示例如下:
#include<stdio。H>
int main(void)
{
int i
printf(“input an octall number:”)
scanf(%o“,&MPI)
printf(“its decimal number is%d”,i)
return 0
}效果如下:
C語言程序怎么把十進(jìn)制的數(shù)轉(zhuǎn)換成八進(jìn)制的數(shù)?
C中的八進(jìn)制是無符號(hào)的,因此負(fù)數(shù)將其補(bǔ)碼作為無符號(hào)數(shù)輸出。十進(jìn)制數(shù)-7的補(bǔ)碼是11111111001。八進(jìn)制輸出的二進(jìn)制數(shù)是01111111111111111001,正好是37777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777。(順便說一句,二進(jìn)制整數(shù)八進(jìn)制可以從右到左用3位分隔,最左邊小于3位的前面用0填充,然后根據(jù)相應(yīng)的八進(jìn)制符號(hào)寫入。)