10進数からcの2進数への障害

SokCEID
#include <stdio.h>

main(){
    printf("Give a number in decimal form\n");
    int Division,a=1,sum=0,Bit,Digit;
    scanf("%d",&Division);
    do{
        Digit= Division%2;
        if (Digit==1){
            sum++;
        }
        Division/=2;
        Bit += Digit*a;
        a*=10;
    }while(Division>0);
    printf("%d is the number in binary form\n",Bit);
    printf("The number of 1s in the binary form is %d",sum);
}

この演習の目的は、10進数を2進数に変換し、その1を数えることでした。1023までは問題なく動作しますが、1024では10進数を含む「2進数」を出力します。1カウントが正しく機能することに注意してください。範囲に問題はありますか?

DanielGibbs

1024の最後の(最上位)ビットに到達すると、の値aは10000000000(10 ^ 10)になります。そうでないことを除いて。ためには、int32ビット整数の値であり、aオーバーフロー(2回)および141006540​​8てしまいます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Cでの10進数から2進数への変換

分類Dev

C ++での2進数から10進数への変換

分類Dev

2進数から10進数へのc

分類Dev

10進数から2進数への変換C ++

分類Dev

10進数から2進数への関数、Python

分類Dev

Javaでの10進数から2進数への変換

分類Dev

Javaでの10進数から2進数への割り当て

分類Dev

2進数のASCIIから10進数への変換

分類Dev

2進数のASCIIから10進数への変換

分類Dev

10進数から2進数への変換

分類Dev

2進数から10進数への再帰

分類Dev

10進数から2進数へのコンバーター

分類Dev

10進数から2進数への変換エラー

分類Dev

10 進数から 2 進数への変換

分類Dev

10進数から16進数への変換c ++

分類Dev

長整数値Cを使用した10進数から2進数への変換

分類Dev

負の10進数から2進数のcコード

分類Dev

Cでの16進数から10進数へのエラーの変換

分類Dev

Cの2進数から12進数および16進数

分類Dev

PySparkでの10進数から2進数へのデコード

分類Dev

nビットまでの10進数から2進数への変換

分類Dev

Javaでの16進数から10進数への変換

分類Dev

10進数から2進数へのコードがわかりません

分類Dev

文字列から10進数への迅速

分類Dev

10進数から2進数への変換を高速化する方法

分類Dev

Pythonでの視覚化による10進数から2進数へ

分類Dev

10進数から2進数への変換-0.1を変換する方法は?

分類Dev

再帰を使用した10進数から2進数への変換

分類Dev

10進数から2進数への変換に問題があります

Related 関連記事

ホットタグ

アーカイブ