Ⅰ 在c語言中怎麼把一個數轉換成二進制然後輸出
數據在內存中本來就是以二進制補碼存放的,設法從高位元組至低位元組一個bit一個bit地輸出到屏幕上即可。根據題面要求,輸出過程還要做以下工作:
從最高位元組開始檢測,全0的位元組略去;
每8位增加輸出一個空格。
代碼如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *p; unsigned i,n,x=1<<sizeof(int)*8-1; printf("Input an integer...\n"); scanf("%d",&n); for(p=(char *)&n,i=sizeof(int)-1;i>0;i--) if(*(p+i)==0) x>>=8; else break; for(i=0;x;x>>=1) printf(++i%8 ? "%d" : "%d ",(n&x) || 0); printf("\n"); return 0;}
Ⅱ C語言中怎樣調用函數將十進制轉換成二進制
1、打開visualC++6.0-文件-新建-文件-C++SourceFile。
Ⅲ c語言編寫一個程序,將十進制整數n 轉換成二進制數
#include <stdio.h>
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
void main()
{
//進制轉換函數的聲明
int transfer(int x);
int x;
printf("請輸入一個十進制數:");
scanf("%d",&x);
printf("轉換成二進制數是:%d ",transfer(x));
}
(3)c語言數值轉換成二進制擴展閱讀:
c語言書寫規則:
1.一個說明或一個語句佔一行。
2.用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
網路-c語言
Ⅳ C語言 把char 型 或者 整數轉化成二進制 要怎麼轉
這個可以使用itoa函數
itoa為c語言的一個函數。itoa函數是一個廣泛應用的,從非標准擴展到標準的C語言。它不能被移植,因為它不是標準定義下的C語言,但是,編譯器通常在一個不遵循程式標準的模式下允許其通過header
,因為它是一個從邏輯對應到標准庫的函數。itoa取整數輸入值,並將其轉換為數字的基數。
原
型
char
*itoa(
int
value,
char
*string,int
radix);
功
能
把一整數轉換為字元串
用
法
itoa(i,num,10);
i
----需要轉換成字元串的數字
num----
轉換後保存字元串的變數
10----
轉換數字的基數(即進制)。10就是說按10進制轉換數字。還可以是2,8,16等等你喜歡的進制類型
返回值:指向num這個字元串的指針
程序例:
#include
#include
int
main(void)
{
int
number
=
12345;
char
string[25];
itoa(number,
string,
10);
printf("integer
=
%d
string
=
%s\n",
number,
string);
return
0;
}
char
*itoa(int
value,char
*string,int
radix)
將整數value轉換成字元串存入string,
radix為轉換時所用基數(保存到字元串中的數據的進制基數)
Ⅳ 怎麼用C語言編程把十進制轉化成二進制
c語言中沒有二進制的格式輸出符號.
你可以用itoa函數很方便的將一個10進制int轉變成二進制字元串.
如:
int
i;
char
s[128];
scanf("%d",&i);
itoa(i,
s,
2);
/*3個參數,第一個是待轉換的數,第二個是存放轉換後的字元串,第三個即需要轉換的進制*/
printf("該數轉換為二進制是:
[%s]\n",s);
補充一點,itoa函數的頭文件是stdlib.h
Ⅵ 如何將C語言十進制小數轉化為二進制
可以使用二乘取整法。
十進制數乘以10,小數點右移一位,3205.435*10=32054.35。
同理,二進制數乘以2,小數點右移一位,101101.1101*10=1011011.101(式子中都是二進制數)。
兩個小數相同,表示法不同,但各自乘以2後,結果的整數部分和小數部分是相同的,基於此,十進制小數可用(小數部分)「2乘取整法」轉換為二進制小數。
有限位數的十進制小數,轉換成的二進制小數可能是無限位數的,這時可按要求的精度取有限位的結果即可,最後一位是其後面位「0舍1入」的結果。
C語言簡介:
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
Ⅶ c語言怎麼將十進制轉化成二進制
#include <stdio.h>
void main()
{
//進制轉換函數的聲明
int transfer(int x);
int x;
printf("請輸入一個十進制數:");
scanf("%d",&x);
printf("轉換成二進制數是:%d ",transfer(x));
}
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
1
十進制小數轉二進制數:「乘以2取整,順序排列」(乘2取整法)
網路-二進制
Ⅷ 用C語言編程:將輸入的數字轉換成二進制字元輸出
#include<stdio.h>
void main()
{
int i=0,base=2,num[32];
long int n;
char c;
printf("Please input num:\n");
scanf("%d",&n);
do
{
num[i++]=n%base;
n=n/base;
}while(n!=0);
printf("轉換的結果:\n");
for( n=i-1; n>=0; n-- )
{
printf("%c",c);
}
printf("\n");
}