c語言八進製表示
A. c語言中八進制和16進制怎麼表示
一、八進制由 0~7 八個數字組成,使用時必須以0開頭(注意是數字 0,不是字母 o),例如:
//合法的八進制數
int a = 015; //換算成十進制為 13
int b = -0101; //換算成十進制為 -65
int c = 0177777; //換算成十進制為 65535
//非法的八進制
int m = 256; //無前綴 0,相當於十進制
int n = 03A2; //A不是有效的八進制數字
二、十六進制由數字 0~9、字母 A~F 或 a~f(不區分大小寫)組成,使用時必須以0x或0X(不區分大小寫)開頭,例如:
//合法的十六進制int a = 0X2A; //換算成十進制為 42
int b = -0XA0; //換算成十進制為 -160
int c = 0xffff; //換算成十進制為 65535
//非法的十六進制
int m = 5A; //沒有前綴 0X,是一個無效數字
int n = 0X3H; //H不是有效的十六進制數字
二進制化為八進制
整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的整數。
小數部份從最高有效位開始,以3位一組,最低有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的小數。
例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8
以上內容參考:網路-八進制
B. C語言中的八進制
除了二進制,C語言還會使用到八進制。
八進制是一種「逢八進一」的進制,它由 0~7 八個符號來描述。同樣,此處通過十進制和八進制的對比來描述八進制的表示方式。
八進制基數為8,加法運算時逢八進一,減法運算時借一當八。例如,數字 0、1、5、7、14、733、67001、25430 都是有效的八進制。
當使用八進製表示十進制數字8時,由於表示八進制的符號只有 0~7,因此,根據逢八進一的規則,需要向高位進一位,表示為10。同理,使用八進製表示十進制數字16時,繼續向高位進一位,表示為 20。
(2)c語言八進製表示擴展閱讀
八進制轉換為十進制的源代碼如下
#include<stdio.h>
void main()
{
char *p,s[6];int n;
p=s;
printf("Please input a Octal number:");
gets(p);
n=0;
while(*(p)!='