양의 정수(10진수)를 입력하고 이 정수에 해당하는 이진수를 출력합니다(루프를 사용하여 구현되지만 배열이나 함수 호출은 사용하지 않음).
이 글은 C언어로 작성되었기 때문에 도움이 필요한 학생들이 적절하게 참고할 수 있습니다!
분석: 십진수를 이진수로 변환하는 방법:
유클리드 나눗셈을 사용하여 몫이 0이 될 때까지 나머지 수열을 구합니다. 해당 이진수인 나머지 수열을 역순으로 구합니다. 따라서 나머지 시퀀스는 정수 값을 형성한 다음 정수 값을 역순(낮은 비트에서 높은 비트로 출력)으로 출력합니다. 즉, 이진 코드를 얻습니다.
코드는 다음과 같습니다.
#include <iostream> using namespace std; int main() { int n; //待转换的十进制正整数 int m; //存每次转换得到的余数 int sum=0; //进制转换逆序值 int count=0; //记录二进制位数 int i; cout<<"请输入待转换的十进制正整数:"; cin>>n; while(n<0) { cout<<"请重新输入待转换的十进制正整数:"; cin>>n; } cout<<endl; cout<<"十进制"<<n<<"的二进制形式为:"; if(n==0) {cout<<n<<endl; return 0; } while(n!=0) //辗转相除取余到商为0 { m=n%2; //获取对应此次的余数 count++; //二进制位数增1 sum=sum*10+m; //余数按先得到顺序组成一个整数,最后反序就是2进制数 n=n/2; } for(i=count;i>0;i--) //循环从低位到高位逆序输出sum各个位上的数 { cout<<sum%10; sum=sum/10; } cout<<endl; return 0; }
이 글은 참고용입니다!
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 함수 없이 PHP 십진수를 이진수로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!