1樓:踏雪也尋梅
在iostream早定義了八進位制與十進位制的輸入輸出,請恕我偷個懶,具體**如下:
#include
using namespace std;
int main()
2樓:
首先你要知道,整形在計算機上是二進位制儲存的,比如說int是32位,「32位」就是二進位制位數;
十進位制/八進位制 都是整數變成字串格式之後才會有的。
stdlib.h中提供了幾個函式:
int atoi ( const char * str ); // 將十進位制字串轉換成int
long int atol ( const char * str ); // 將十進位制字串轉換成long
long int strtol ( const char * str, char ** endptr, int base ); // 將指定進製的字串轉成long
其中,str和前兩個一樣是帶轉換字串,endptr是乙個char*的引用,用於輸出非數值字元的位置,也可以用null,已表示不關心這種情況;
如下是使用例項:
/* strtol example */
#include
#include
int main ()
int到八進位制、十進位制、十六進製制字串的轉換,可以通過sprintf完成,對應的格式串分別為%o, %d, %x,比如:
int num;
char buf[64];
// ... 省略
sprintf(buf, "%o", num); // 八進位制字串
sprintf(buf, "%d", num); // 十進位制字串
sprintf(buf, "%x", num); // 十六進製制字串
同理,八進位制、十進位制、十六進製制字串轉換成int其實也可以通過sscanf來實現。
如果因為條件限制,不能使用庫函式,可以自己實現這些功能,實現起來也並不複雜(沒有考慮符號和字串錯誤情況):
void int2oct(char* str, const int num)
strcpy(&buf[c], str);
}bool oct2int(int& num, const char* str)
else return false;
}num = res;
return true;}
c++編寫程式將十進位制數轉化為八位二進位制輸出(要求用main)
3樓:匿名使用者
#includeint ****oer(int a,int* b) } return i; } int main()
c++ 編寫乙個程式,將使用者輸入的十進位制整數轉換成任意進製的數。
4樓:匿名使用者
1、首先,定義四個整型變數,儲存十進位制整數、二進位制整數等計算值。
2、給變數i和二進位制數賦初值,值為0。
3、接著,輸入乙個十進位制整數。
4、用while語句判斷,條件為十進位制數是否為零。
5、當十進位制數不為零時,對十進位制數用2求餘,儲存在變數d中。
6、十進位制數除以2,使數值縮小為原來的二分之一。
7、輸出十進位制數所對應的二進位制數。
8、執行程式,輸入任意乙個十進位制整數,計算機就會輸出對應的二進位制數。
5樓:oo墨色傾城
#include//我這個程式只針對2~16進製制的轉換using namespace std;
char str[17]=; //為了使程式簡化而提前定義將會輸出的數字
int main()
for(j=i-1;j>=0;j--)
cout< }程式已近經過我自己驗證後,無錯誤! 如果還需要加另外的功能,請lz自行修改即可。 6樓:匿名使用者 %x是十六進製制,%o是八進位制,其他的要用ls的方法計算啦 我c++作業有乙個八進位制和十進位制相互轉換,但我寫完後輸出結果始終為0,能不能幫我看看問題出在哪? 7樓:匿名使用者 #include #include using namespace std; int main( ) //*************************= do while( b != 0 ); cout<<"轉換結果為"< 使用者輸入乙個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進製制數輸出。(是c++,不是c) 8樓:匿名使用者 #include using namespace std; int main() cout<十六進製制使用格式化輸出即可,oct表示八進位制,hex表示十六進製制 cout< cout< }如果有不懂請追問。 9樓:支景明孔茶 確定問題沒有什麼別的要求??比如說111可以是二進位制也可以是八進位制和十六進製制。。。 10樓:匿名使用者 有乙個轉換函式很好用: char *itoa(int value, char *string, int radix); int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進製數,如2,8,10,16 進製等 標頭檔案: itoa操作使用 但注意:這個不是c++標準庫函式,只能在visual c++系列編譯器環境下使用 想在gcc上做的話,可以設定輸出格式,也可以自己編函式進行轉換…… 11樓:匿名使用者 有輸出格式設定的, #include #include int main() 1 正負用乙個整數sign記錄 2 整數部 分,除p求餘,逐位存入乙個陣列,直到商為0 3 小數部分,乘p求商,整數部分逐位存入乙個陣列,直到結果為0或者達到指定的位數。4 將正負號 整數部分 小數點 小數部分,逐位輸出。5 p大於十時指定表現方法,比如用英文本母,p大於36,可能還要其他表達方式。... 程式功能 求二進位制,十進位制,八進位制 建立人 蒲宇林 建立日期 2007年8月13日 include void two void eight void sixteen 主函式 void main if select 0 while 1 void two printf 轉換為二進位制 列印 for... 方法1 採用除8取餘法。例 將十進位制數115轉化為八進位制數 8 115 3 8 14 6 8 1 1 結果 115 10 163 8 方法2 先採用十進位製化二進位制的方法,再將二進位制數化為八進位制數例 115 10 1110011 2 163 8 十進位制轉8進製方法 十進位制資料除以8一直...c語言使用陣列方法編寫程式,將十進位制小數轉換為p進製數
C語言中的二進位制十進位制八進位制十六進製制都是怎麼轉化的
十進位制如何轉換成八進位制