在 C 中將 decimal 轉換為二進位和十六進製程式設計

發布 娛樂 2024-02-05
16個回答
  1. 匿名使用者2024-01-25

    將十進位轉換為二進位,轉換為十六進製和懶惰寫入,原理相似。

    #include

    int main()

    int a,sz[100];

    int b,c,d=0,l;

    for(b=0;b<101;b++)sz[b]=0;

    printf("請輸入十進位整數:");

    scanf("%d",&a);

    l=a;printf("");

    while(a)

    c=a%2;

    a=a/2;

    sz[d]=c;

    d++;int e;

    for(e=100;e>=0;e--)

    if(sz[e]!=0) break;

    printf("十進位數 %d 到二進位數的轉換為:",l);

    int i;

    for(i=e;i>=0;i--)

    printf("%d",sz[i]);

    printf("");

  2. 匿名使用者2024-01-24

    C 語言將十六進製轉換為十進位如下:

    例如,將十六進製數 9fa8c 轉換為十進位

    9fa8c = 9 164 + 15 163 + 10 162 + 8 161 + 12 160 = 653964(十進位)。

    從右到左,第1位為160=1,第2位為161=16,第3位為162=256,第4位為163=4096,第5位為164=65536......第 n 位是 16n-1。

    將數字乘以數字,然後將它們相加得到十進位形式。

    十六進製數的第 0 位數字的權重為 16 的 0 次方,第 1 位數字的權重為 16 的 1 次方,第 2 位數字的權重為 16 的 2 次方。

    因此,在第 n 位(n 從 0 開始)位中,如果它是數字 x(x 大於或等於 0,x 小於或等於 15,即 f)表示大小 x * 16 的 n 次方。

    另乙個例子:十六進製:EA7 = 14 162 + 10 161 + 7 160 = 3751(十進位)。

  3. 匿名使用者2024-01-23

    總結。 1. 給定 n 個十六進製正整數,輸出它們對應的八進位數。

    2. 輸入的第一行是正整數 n (1<=n<=10)。

    3.接下來的n行,每行是由0 9和大寫字母a f組成的字串,代表要轉換的十六進製正整數,每個十六進製數的長度不超過100000。

    4. 輸出 n 行,並為每行輸入相應的八進位正整數。

    5. 輸入的十六進製數不會有前導 0,例如 012a。

    6. 輸出八進位數不能有前導 0。

    樣本輸入:123abc

    1. 給定 n 個十六進製正整數,輸出它們對應的八進位數。 2. 輸入的第一行是正整數 n (1<=n<=10)。 3.接下來的n行,每行是由0 9和大寫字母a f組成的字串,表示要轉換的十六進製正整數,每個十六進製數的長度不超過輸出n行,每行輸入對應的八進位正整數。

    5.輸入的十六進製數不會有前導的0,例如,輸出的八進位數不能有前導的0。 樣本輸入: 239123abc 樣本輸出:

    這就是我要問的。

    怎麼寫這個。

    堅持。 包括 int main()。 為您推薦一款軟體。

    學習小藝。 在大學裡,這類問題基本上都有答案。

    好。 嗯哼。

  4. 匿名使用者2024-01-22

    你可以使用 char* itoa(intvalue,char*string,intradix); 在其他基本系統中將整數轉換為字串引用

    int main()

    GCC,乙個由 GNU 組織開發的開源和免費編譯器,乙個基於 Mingw 和 Windows 作業系統下的 LGVM 協議的編譯器,GCC 和 CLANG,以及乙個開源的 BSD 協議。

  5. 匿名使用者2024-01-21

    回答十六進製到十進位,方法如下:十六進製數的第 0 位數字的權重是 16 的 0 次方,第 1 位數字的權重是 16 的 1 次方,第 2 位數字的權重是 16 的 2 次方......因此,在第 n 位(n 從 0 開始)位中,如果它是數字 x(x 大於或等於 0,x 小於或等於 15,即 f)表示大小 x * 16 的 n 次方。

    示例:2af5 到十進位系統:垂直:

    位 0:5 * 16 0 = 5 位 1:f * 16 1 = 240 位 2:

    A * 16 2 = 2560 第三名:2 * 16 3 = 8192 直接計算為:5 * 16 0 + f * 16 1 + a * 16 2 + 2 * 16 3 = 10997 朋友們,如果對您有幫助,請豎起大拇指,謝謝。

  6. 匿名使用者2024-01-20

    C 語言 012 十六進製到十進位。

  7. 匿名使用者2024-01-19

    #include

    #define initsize 20

    #define increment 10

    typedef char elemtype;

    typedef struct stackstack;

    void initstack(stack &s) 將堆疊初始化到堆疊中,並在堆疊已滿時附加堆疊空間。

    int empty(stack &s) void clear(stack &s).

    void conversion(int n,int n) base conversion}while(!empty(s))

    clear(s);

    void main()

  8. 匿名使用者2024-01-18

    十六進製數。 存放陣列 ch

    然而,int i;

    int n;

    n = 0;

    for (i = 0; ch[i] != '\0';i++),n 是轉換後的。

  9. 匿名使用者2024-01-17

    需要準備的材料有:計算機和C語言編譯器。

    1. 首先,開啟 C 語言編譯器並建立乙個新的首字母。 CPP 檔案,例如:

    2. 在檔案中,輸入 C 語言**:int a = 0b10000001; printf("%d", a);。

    3.編譯器執行檔案,輸入的8位二進位數以十進位形式成功輸出。

  10. 匿名使用者2024-01-16

    1.C語言列印八進位是通過%o列印出來的,(由百分號和小寫字母o組成),首先,八進位017的列印輸出實現以下**段,**段是先儲存乙個八進位數,然後通過%o輸出八進位。

    2.**段編譯好後,跑去檢視結果,可以看到結果是17,八進位列印出來,不會有變化。

    3.十進位數以八進位格式列印出來,檢視結果,首先,十進位數20等於八進位的24,通過計算機,如下圖所示,左邊的八進位,右邊的小數。

    4.然後實現下面的**段,十進位數20以八進位格式列印出來,**段是先儲存乙個十進位數20,然後按%o輸出八進位。

    5.**段編譯通過後,可以看到十進位數20以八進位格式輸出,結果為24,與計算機得到的結果一致。

    6.以八進位格式列印十六進製數的結果由計算機第一0xaf得到,該等於八進位的257。

    7.然後實現以下**段,十六進製數字0xaf,並以八進位格式列印出來。 **段是先儲存乙個十六進製數字0xaf,然後按 %o 輸出八進位。

  11. 匿名使用者2024-01-15

    在 C++ 中,您可以使用 Itoa() 函式輕鬆地將十進位數從 2 8 16 轉換為 2 8 16 十進位數並將它們儲存為字串。

    如果只想輸出 8 或 16 十進位格式的十進位數,可以使用 Cout 的格式化輸出引數 OCT 和 HEX 來完成資料輸出。 (缺陷:不支援二進位格式輸出)。

    char *itoa( int value, char *string,int radix);

    描述:值:要轉換的資料。

    基數:轉換後的基數,可以是 2、8、10、16 等。

    特別說明:ITOA 不是乙個標準的 C 函式,它是特定於 Windows 的,如果你想編寫乙個跨平台的程式,你可以使用 SprintF(),它的使用方式與 PrintF() 相同。

  12. 匿名使用者2024-01-14

    十進位轉換為任意數。

    #include

    using namespace std;

    int main()

    for(int k=m;k>=1;k--) 輸出轉換後的序列 { if(s[k]>=10) 如果是十六進製等,則輸出對應的字母 cout<<(char)(s[k]+55);

    否則直接輸出數字<

  13. 匿名使用者2024-01-13

    1.為了完成十進位系統的轉換,在main函式中宣告了乙個函式sum,主要用於將二進位的每位位元轉換為十進位後的數字相加,返回值為相加後的總和。 還定義了乙個陣列陣列[8]來儲存輸入的八進位二進位數。

    2. 然後使用 for 迴圈語句輸入八位二進位數。

    3.在求和函式中,宣告了另乙個冪函式,冪函式的函式是求2的n次冪。

    4.然後,使用for迴圈語句,i用於控制迴圈數,n從最高指數7開始,每個迴圈減去1,如果指數大於或等於零,則執行迴圈。

    5.在冪函式中,如果b等於零,即指數為零,則返回1,否則會進入迴圈,j用於控制迴圈次數,如果有疑問,可以用筆計算乘以2的次數,最後返回i。

    6. 最後,看看執行的結果。

  14. 匿名使用者2024-01-12

    轉換格式的最簡單方法是使用 scanf() 函式和 printf() 函式以 16 種基本格式輸入並以 10 種基本格式輸出。

    操作步驟如下:

    #include

    int main()

    int a=0;

    int i=0;

    scanf("%x",&a);

    printf("%d",a);

    return 0;

    結果:<>

  15. 匿名使用者2024-01-11

    順便說一句,我也會給你其他基本轉換。

    將十進位數轉換為二進位數。

    voidfun_1(intn)

    主要功能。 voidmain()

  16. 匿名使用者2024-01-10

    將十進位轉換為二進位、十進位到二進位、十進位到二進位的方法。

相關回答
15個回答2024-02-05

#include

#include >>>More

5個回答2024-02-05

#include

int main() >>>More

12個回答2024-02-05

如下:

型別 1:僅結構定義: >>>More

14個回答2024-02-05

在 C 中,可以通過定義累加器(變數)並將其與 for 迴圈組合來計算 1 到 100 的總和。 >>>More

12個回答2024-02-05

VS,C++格式。

#include >>>More