编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制
題目要求:
編寫一個(gè)C程序,實(shí)現(xiàn)以下功能:
//編寫一個(gè)函數(shù)decTobin(int n),該函數(shù)能將一個(gè)十進(jìn)制數(shù)n轉(zhuǎn)換成二進(jìn)制數(shù),輸入13 輸出 1101。
//在main函數(shù)中輸入整數(shù)n,調(diào)用函數(shù),輸出它的二進(jìn)制數(shù)。
二進(jìn)值怎么來的?為什么要定義二進(jìn)值?
要解答這個(gè)問題,從計(jì)算機(jī)的起因開始說起,我的涉獵不多,可能知識(shí)略有缺漏。
我們知道,生活之中總是存在著只有兩面的事物,開關(guān)中的開與關(guān),們或非,事物判斷的對與錯(cuò),而在物理中,存在著正電和負(fù)電的知識(shí)。我們知道,計(jì)算機(jī)是需要供電的,恰巧的是,通過0和1來表示正電和負(fù)電,或許是計(jì)算機(jī)甚至人類數(shù)學(xué)上最美的語言了。計(jì)算機(jī)只讀得懂0,1,早期科學(xué)家用0和1構(gòu)建起整一個(gè)計(jì)算機(jī)的科學(xué)王國。
二進(jìn)值其實(shí)和我們熟絡(luò)的十進(jìn)制沒有什么不同,但這里需要引出一個(gè)概念,加權(quán)運(yùn)算,我們先來復(fù)習(xí)一下十進(jìn)制的數(shù)計(jì)算法則。
以15舉例,是不是十位有1,個(gè)位有5?根據(jù)加權(quán)運(yùn)算:1*10一次方?+ 5*10零次方,自然等于15.
再以1605為例,根據(jù)加權(quán)運(yùn)算:1*10三次方+6*10二次方+0*10一次方+5*10零次方。自然等于1605.
因?yàn)槭?0進(jìn)制,所以所有的權(quán)是以10來表示,如果是2進(jìn)制,大家想想,是不是該用2來表示權(quán)?
明白了加權(quán)運(yùn)算的原理
再來看二進(jìn)制:
二進(jìn)值1101轉(zhuǎn)換成十進(jìn)制 根據(jù)加權(quán)運(yùn)算; 1*2三次方+1*2二次方+0*2一次方+1*2零次方,結(jié)果為8+4+0+1 = 13
那十進(jìn)制轉(zhuǎn)換成二進(jìn)制是怎么操作呢,這里說起來有點(diǎn)麻煩,2進(jìn)制只有兩種可能結(jié)果0或1,人們規(guī)定,當(dāng)一個(gè)數(shù)能被二整除的時(shí)候,這個(gè)數(shù)是二的倍數(shù),這不就代表進(jìn)位的意思嘛,舉個(gè)例子,60能被10整除,所以60是由10進(jìn)位過來的,而二進(jìn)制的進(jìn)位是逢二進(jìn)一,只要你是二的倍數(shù),那肯定就會(huì)進(jìn)一。所以規(guī)定整數(shù)除2,如果能被除盡,就記‘0’,否則就記‘1’
代碼如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #define MAX 33 /*編寫一個(gè)C程序,實(shí)現(xiàn)以下功能: 編寫一個(gè)函數(shù)decTobin(int n),該函數(shù)能將一個(gè)十進(jìn)制數(shù)n轉(zhuǎn)換成二進(jìn)制數(shù),輸入13 輸出 1101。 在main函數(shù)中輸入整數(shù)n,調(diào)用函數(shù),輸出它的二進(jìn)制數(shù)。 */ char s[MAX]; void decTobin(int n) {int i = 0;while(n > 0){if (n % 2 == 1) {s[i] = 1;i++;}else {s[i] = 0;i++;}n /= 2;}for(int j = i - 1;j>=0;j--)printf("%d", s[j]); } int main() {int n;scanf("%d", &n);decTobin(n); }總結(jié)
以上是生活随笔為你收集整理的编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么叫做罗列式_极简罗列法怎么写作文
- 下一篇: python中int input_pyt