2012-03-06 69 views
0

我做了2個節目。 第一個將十六進制轉換爲十進制。 第二個將dec轉換爲bin。把2個節目放在一起

現在我想把它們放在一起,首先將十六進制轉換爲十進制,然後從十二進制到十進制 但我該怎麼做?

謝謝。

HEX至十二月

#include <stdlib.h> 
#include <stdio.h> 
#include <iostream> 

void decToBin(int, int); 
int main(void) 
{ 


char s[] = "ff"; 
unsigned long x; 
x = strtoul(s, 0, 16); 
printf("%s" 
"%lu" 
"\n" 
, s, x, x, x); 

system ("pause"); 
return 0; 
} 

月至斌

#include <iostream> 

using namespace std; 

void decToBin(int, int); 

int main() 
{ 
int decimal; 
cin >> decimal; 
decToBin(decimal, 2); 
system ("pause"); 
return 0; 
} 
void decToBin(int num, int base) 
{ 
if (num > 0) 
{ 
    decToBin(num/base, base); 
    cout<< num % base; 
} 
} 
+1

使用功能.. – UmNyobe 2012-03-06 08:46:42

+0

您應該通過將它們放在一起來更精確地表達您的意思。 – 2012-03-06 08:53:20

+0

你的功能真的應該只做一件事(現在你正在做轉換*和*打印) – 2012-03-06 09:01:16

回答

0

使用管道的第一個程序的標準輸出傳遞給第二個的標準輸入:

HEX2DEC號| dec2bin

這應該從shell的命令行工作,如果你在Windows中安裝Cygwin Bash。

+0

你**可以**在Windows上使用'cmd.exe'! – 2012-03-06 08:55:01

+0

我該怎麼做?你能幫我一把嗎? – Joriek 2012-03-06 08:55:21

+0

編譯完成後,您有兩個可執行文件...如果您在Windows(Win-R並鍵入cmd或cmd32),請打開cmd.exe。在命令行中輸入:hex2dec 0x4545 | DEC2BIN。假設第一類編譯爲hex2dec,第二類編譯爲dec2bin。 – 2012-03-06 09:05:55