如何直接在 C 中輸出二進位值?

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

    C 標準不輸出二進位檔案,而是使用 itoa()。

    可以實現二進位轉換。

    您可以使用 ITOA 函式將變數的值轉換為二進位值。

    string,然後與 output 函式一起輸出。

    用法: char *itoa(int value, char *string, int radix);

    說明:ITOA 是 Integer to Array 的縮寫(將整數轉換為字串並將值儲存在陣列字串中)。

    引數:value:要轉換的整數。

    radix:是基數的意思,即先將值轉換為基數基數,範圍在2-36之間,例如,10代表十進位,16表示十六進製。

    string:儲存轉換後的字串。

    返回值。 char * 指向生成的字串,與 *string 相同。

    注意:此函式的標頭檔案。

    是的"以下函式將字串轉換為數字:

    函式名稱角色。

    atof() 將字串轉換為雙精度浮點型別。

    價值。 atoi() 將字串轉換為整數值。

    atol() 將字串轉換為長整數。

    價值。 strtod() 將字串轉換為雙精度浮點值,並報告任何無法轉換的剩餘數字。

    strtol() 將字串轉換為長整數,並報告任何無法轉換的剩餘數字。

    strtoul() 將字串轉換為無符號長整數值,並報告任何無法轉換的剩餘數字。

    將字串轉換為數字可能會導致溢位,如果您使用的是 strtoul() 之類的函式,您可以檢查溢位。 請看以下示例:

    **如下:包括

    # include

    # include

    void main(void);

    void main (void)

    char* str = "1234567891011121314151617181920" ;

    unsigned long num;

    char * leftover;

    printf("original string: %s",str);

    printf("converted number: %1u" , num);

    printf("leftover characters: %s" , leftover);

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

    二進位數不能直接輸出,因為 %d 類似於十進位數。

    如果要輸出數字的二進位,可以使用函式將其轉換為二進位字串並輸出。

    ITOA 函式。

    原型:char*itoa(int value,char*string,int radix);

    引數:int value 是要轉換的整數,char *string 是儲存的字元陣列,int radix 是轉換為基數,如 2、8、10、16 等。

    功能:將任何型別的數字轉換為字串。 具有相反功能的函式是 atoi。

    #include

    #include

    int main(void)

    int number=10;

    char string[25];

    itoa(number,string,2);

    printf("十進位數:%d,二進位數:%s",number,string);

    return 0;

    十進位數:10,二進位數:1010

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

    如上所述,二進位檔案不能直接輸出,但可以通過程式設計方式輸出。

    #include

    void f(int n)

    if(n) f(n/2);

    else return;

    printf("%d",n%2);

    int main()

    int n;

    while(1)

    scanf("%d",&n);

    if(n<0) break;

    if(n==0) printf("0");

    f(n);printf("");

    return 0;

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

    沒有二進位直接輸出,可以編寫自己的程式:

    void f(int n)

    if(n) f(n/2);

    else return;

    printf("%d",n%2);

    上面是乙個遞迴呼叫函式,它輸出二進位格式 n。

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

    它可以轉換為十六進製,二進位和十六進製是一對一的對應關係。 然後,您可以輸出二進位檔案。

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

    沒有二進位數字的直接輸出。 您可以設計自己的函式,也可以使用庫函式來轉換它們。

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

    轉換為要輸出的陣列。

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

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

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

    2. 在檔案中,輸入 C 語言**:int a = 127; printf("%x", a);

    3.編譯器執行檔案,數字以十六進製成功輸出。

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

    1. 首先開啟並建立乙個新專案。

    2. 新增標頭檔案。

    3.增加主要主功能。

    4. 定義乙個函式 binsubtracton,將兩個數字相加。

    5. 在 main 函式中定義 int number1, number2, binsub。

    6. 使用 scanf 為變數賦值。

    7. 呼叫 binaddition 和 binsubtracton。

    8. 使用 printf 列印結果。

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

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

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

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

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

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

    C 010 二進位到十進位。

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

    計算機資料(整數類)有三個概念:原始程式碼、逆程式碼和補碼,在實際計算機應用中只使用補碼!

    以乙個位元組(8位)為例。

    原始程式碼:第一位為符號位,其餘位表示數值,如 0 000 0001 表示 1,1 表示 1 000 0001

    反碼:正原碼是其反碼,負反碼是:符號位不動,其餘位倒置,即0變1,1變0,如:-1反=1 111 1110

    補碼:正原碼是它的補碼,負補碼是逆碼+1,即-1補碼=1 111 1111

    補碼是儲存在計算機中的資料形式!! 原始程式碼和反向程式碼只是兩個中間概念詞,在應用中沒有使用,是計算機開發中的中間產品。

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

    在 C 中,可以使用 PrintF 的 %x 格式列印十六進製。

    列印二進位數沒有現成的值,所以只能自己編寫函式列印。

    下面是乙個列印二進位值的手勢函式,通過位運算,逐位確定二進位值,輸出對應的值。

    不輸出預設位 0。

    void print_bin(int n)int l = sizeof(n)*8;具有吉祥的痕跡總數。

    int i;

    if(i ==0)

    printf("0");

    return;

    for(i = l-1; i >=0;i -- 省略高 0

    if(n&(1<=0; i --

    printf("%d", n&(1<

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

    C 標準不輸出二進位,但可以使用 iToa() 將其轉換為二進位。

    1. 在 C 語言程式中,您可以使用標準庫函式中的 printf() 將資訊輸出到螢幕,或使用 sprintf() 將資訊輸出到緩衝區。 對於整數,可以使用 %d、%o、%x(或 %x)輸出十進位、八進位和十六進製形式,但似乎缺少二進位形式。

    2. 解決問題有兩種方法,一種是使用 Windows 提供的 Itoa() 函式,另一種是自己設計乙個新函式: **a:

    #pragma once

    #ifndef test_h

    #define test_h

    * use itoa() to print integers in the form of binary

    param[in] n the integer to print

    return void

    void printbinarybyitoa(unsigned int n);**第二:

    #include

    #include

    void printbinarybyitoa(unsigned int n)

    void printbinary(unsigned int n, unsigned char separator, unsigned char needprefixzeros)

    unsigned int i = 0;

    unsigned int mask = 0; /* the mask code to get each bit of n */

    unsigned char data[40]; /* the buffer to store the bits of n in the form of characters */

    unsigned int index = 0; /* used to access data */

    unsigned int start = 0; /* to point out where and when to store bits of n */

    data[39] = '\0';

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

    void b print (unsigned char b) 八進位二進位輸出。

    如果你想要更多的週期,你只需要改變週期數。

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

    如上所述,二進位檔案不能直接輸出,但可以通過程式設計方式輸出包括

    void f(int n)

    int main()

    return 0;}

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

在C++中儲存負數時,符號位置不是簡單的1,而是以補碼的形式,負數的最高位數是符號位,即1,其餘全部反轉,然後加1。 >>>More

21個回答2024-02-05

我什至沒有練習模擬題,所以我建議你不要參加考試,下次再參加。 不要浪費你寶貴的時間。

14個回答2024-02-05

在 VisualStudio 2013 中編寫和除錯 C 語言程式的步驟: 1.開啟 [檔案] - 新建 - 專案以開啟“新建專案”視窗。2. 在[模板]、[名稱]、[位置]和[解決方案名稱]中選擇[Visual C++] Win32控制台應用程式,可以根據需要填寫。 >>>More

14個回答2024-02-05

你能說清楚嗎,我不知道你的意思。 是否要在 main 函式中呼叫乙個函式,然後不知道如何定義被呼叫的函式? 如果是這樣的話,我可以告訴你。 >>>More

37個回答2024-02-05

1.在C語言中,%符號是餘數運算,即模組化運算(mod)。 >>>More