Cara menukar perpuluhan kepada perduaan: teruskan membahagikan nombor perpuluhan dengan 2 sehingga hasil bagi sifar, dan kemudian tulis baki dari bawah ke atas; ;int a[20];scanf("%d",&n);while(n/2){a[len ]=n%2;n=n/2;}a[len ]=n%2;for (i=len-1;i>=0;i--){printf("%d",a[i]);}}".
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi c99, komputer Dell G3.
Perpuluhan bahasa C kepada penukaran binari
Dalam bahasa C, menukar perpuluhan kepada asas lain adalah lebih rumit.
Integer perpuluhan ditukar kepada integer berasaskan N menggunakan kaedah "bahagi dengan N, ambil baki dan susun dalam susunan terbalik". Kaedah khusus ialah:
Gunakan N sebagai pembahagi dan bahagikan integer perpuluhan dengan N untuk mendapatkan hasil bagi dan baki
Simpan baki, Teruskan bahagikan hasil bahagi dengan N, dan anda akan mendapat hasil bahagi baharu dan baki
Masih mengekalkan baki, terus bahagikan hasil bahagi dengan N, dan anda akan mendapat satu; hasil bagi baharu dan baki;
…
Ulang ini, mengekalkan baki setiap kali, dan kemudian bahagikan dengan N dengan hasil bahagi sehingga hasil bahagi ialah 0.
Ambil baki yang diperoleh dahulu sebagai digit tertib rendah nombor asas N, dan selebihnya diperoleh kemudian sebagai digit tertib tinggi nombor asas N Susunkannya untuk mendapatkan nombor asas N.
Dan Jika anda ingin menukar perpuluhan kepada perduaan, anda perlu menggunakan prinsip "bahagi dengan 2, ambil baki, dan susun dalam susunan terbalik":
Tukar nombor Bahagi dengan 2 secara berterusan sehingga hasil bahagi sifar, dan kemudian tulis baki dari bawah ke atas untuk mendapatkan perwakilan binari nombor tersebut.
Rajah berikut menunjukkan proses menukar nombor perpuluhan 42 kepada binari:
Seperti yang anda boleh lihat daripada rajah, nombor perpuluhan 42 Keputusan ditukar kepada binari ialah 101010.
Kod pelaksanaan:
#include <stdio.h> int main(void) { int n,length; //length用来装二进制数的个数 int a[20]; //定义一个数组来装余2得到的余数 scanf("%d",&n); //输入十进制的数字 while(n/2){ //当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句 a[length++] = n%2; //将除2得到的余数装入数组中 n = n/2; //除二 } a[length++] = n%2; //存储最后一个余数 //将余数从下往上输出 for(int i = length-1;i>=0;i--) printf("%d",a[i]); }
Cadangan berkaitan: "Tutorial Video C"
Atas ialah kandungan terperinci Bagaimana untuk menukar perpuluhan kepada binari dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!