Bagaimana untuk menukar perpuluhan kepada binari dalam bahasa c

青灯夜游
Lepaskan: 2022-11-24 10:27:26
asal
47449 orang telah melayarinya

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]);}}".

Bagaimana untuk menukar perpuluhan kepada binari dalam bahasa c

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:

Bagaimana untuk menukar perpuluhan kepada binari dalam bahasa c

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]);
}
Salin selepas log masuk

Bagaimana untuk menukar perpuluhan kepada binari dalam bahasa c

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan