導航:首頁 > 編程語言 > 轉化為十進制數的程序

轉化為十進制數的程序

發布時間:2021-10-24 11:14:49

⑴ 用C語言編寫二進制轉換十進制的程序

1、為了完成進制的轉換,在主函數中聲明了個函數Sum,主要用於將二內進制的每一位轉換為容十進制後的數相加,返回值就是相加後的和。另外定義了一個數組array[8],用於存放輸入的八位二進制數。

⑵ 如何用c語言編寫將十進制的數轉換成二進制數的程序

簡單辦法是用聯合體,直接列印出來。
typedef union DANDB {
unsigned long int i; // 存放十進制數
unsigned char c[4]; // 按字元(bit) 直接列印它出來
} DandB;

int main()
{
int i,j;
DandB v; // v 是這種聯合體變數
printf("Please enter a integer data\n");
scanf("%d",&v.i); // 輸入正整數
// v.i = 15;
for (i=3;i>=0;i--){
for (j=7;j>=0;j--)
printf("%1d", (v.c[i] >> j) & 1); // 按字元把32位二進制列印出來
}
===
手工計算,要不斷除2取余,獲得所有位,再列印出來。

⑶ 用c語言編寫一個將十六進制數轉換為十進制數的程序

直接用printf就可以實現啊02x。0表示右對齊不夠的左邊補0;2代表以兩位數顯示版;x代表以16進制權顯示
#include
int
main(int
argc,
char*
argv[])
{
int
i=17;
printf("%02x\n",i);
system("pause");
return
0;
}

⑷ 如何使用C語言編寫二進制轉換為十進制的程序

#include<stdio.h>
#include<math.h>
#include<string.h>

/*任意進制數轉十進制數*/
/*char*value:其他進制數,以字元串形式存儲*/
/*int*result:轉換後的十進制數*/
/*intradix:待轉換的進制*/
/*R進制數共n位,第n位表示為Xn。轉換後的10進制數表示為Y*/
/*Y=Xn*R^0+Xn-1*R^1+Xn-2*R^2+……+X1*R^n-1*/
voidothers2Decimal(char*value,int*result,intradix){
intdigit,i,j;

*result=0;
for(i=strlen(value)-1,j=0;i>=0;i--,j++){
if(value[i]>='0'&&value[i]<='9')
digit=value[i]-'0';
if(value[i]>='a'&&value[i]<='z')/*十以上進制處理,小寫字母*/
digit=value[i]-'a'+10;
if(value[i]>='A'&&value[i]<='Z')/*十以上進制處理,大寫字母*/
digit=value[i]-'A'+10;
*result+=digit*pow(radix,j);
}
}

/*校驗輸入的某進制數是否合法*/
/*合法:返回1;不合法:返回0*/
intcheck(char*value,intradix){
inti;

for(i=0;i<strlen(value);i++){
if(radix<=10&&value[i]>='0'&&value[i]<='9'&&value[i]>=radix+'0')
return0;
if(radix>10&&value[i]>='a'&&value[i]<='z'&&value[i]>=radix-10+'a')
return0;
if(radix>10&&value[i]>='A'&&value[i]<='Z'&&value[i]>=radix-10+'A')
return0;
}
return1;
}

intmain(void){
char*value;
intradix=2,result;

printf("請輸入%d進制數:",radix);
fflush(stdin);/*清除緩沖區*/
gets(value);

if(check(value,radix)!=1){
putchar(' ');
printf("輸入的%d進制數有誤! ",radix);
putchar(' ');
return0;
}

putchar(' ');
puts("================================================================ ");

printf("10進制轉換結果:");
others2Decimal(value,&result,radix);
printf("%d ",result);
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

⑸ 編寫將任意二進制數轉換為十進制數的java程序

java有現成的
二進制轉十進制
Integer.valueOf("0101",2).toString()

另外還有
十進制轉成十六進制:
Integer.toHexString(int i)
十進制轉成八進制
Integer.toOctalString(int i)
十進制轉成二進制
Integer.toBinaryString(int i)
十六進制轉成十進制
Integer.valueOf("FFFF",16).toString()
八進制轉成十進制
Integer.valueOf("876",8).toString()

⑹ 如何將c51的8位二進制數轉為十進制數(要完整程序)

數碼管輸入,要的是8位2進制數據,不是16進制。

我在做畢業設計,有寫二進制到十進制的轉換程序
演算法是相似的,如果一個數比如127,要轉換到二進制。我先除以最高位的權值----2的8次方(64),然後取整得到1,將其存儲到一個單元後,左移一位。然後原先的余數除以次高位的權值----2的7次方(32),然後取整得1,左移一位存儲的數據。依次類推,可將其轉化為二進制。
這是我2進制轉10進制的
void BtoD()
{
uchar a1=a0;
float An1=0,An2;
uint i=0,j=4;
for(;i<8;i++) //將2進制的數據轉換到一個一維數組中
{
a1=a1&table2[i];
a1=_cror_(a1,i);
c[i]=a1;
a1=a0;
}

An1=c[7]*128+c[6]*64+c[5]*32+c[4]*16+c[3]*8+c[2]*4+c[1]*2+c[0]*1;
An1=(An1/256)*5; //類型轉換

for(j;j>0;j--)
{
An2=An1;
table1[j-1]=(int)An2; //轉換成四位模擬數字,存儲在Table1中
An1-=(int)An2;
An1*=10;
}
}

⑺ C語言或FORTRAN 二進制數轉化為十進制數 程序

你沒說明數據長度啊...二進制數是從鍵盤輸入嗎?
按我的理解寫了個.
#include "stdio.h"
#include "string.h"

int main(){
printf("輸入一個二進制數 : ");
char buf[33];
scanf("%s",buf);
int l=strlen(buf);
unsigned int add=1;
unsigned int num=0;
int i;
for(i=l-1;i>=0;--i){
if(buf[i]=='1'){
num+=add;
}
add<<=1;
}
printf("對應的十進制數 : %d\n",num);
return 0;
}

⑻ c語言把二進制數轉換成十進制數的程序怎麼寫。

需要准備來的材料分別有:源電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

⑼ 幫忙檢查一個c語言程序:將一個十六進制整數轉化成十進制整數的程序。

程序有以下兩個問題:
1、func函數中所有的i-x-1都應該改成x-i-1。樓主的意思就是乘以16的對應的位數次方唄,你仔細看看就知道應該是x-i-1
2、我們假設十位上是的數字是1,那麼這個數代表了16,這時候用一個字元是無法表示的
也就是說,不能簡單的用s[i]去存放原16進制的某位轉換成10進制對應的數
一個簡單的修改方法是,讓func函數返回一個int型的數值,這個返回值就是對應的十進制數
具體代碼見下
#include<stdio.h>
#include<string.h>
#include<math.h>
int
func(char
s[],int
x);
void
main()
{
char
a[20];
int
n;
int
num;
printf("請輸入一串十六進制數:");
scanf("%s",a);
n=strlen(a);
num=func(a,n);
printf("%s=%d",a,num);
}
int
func(char
s[],int
x)
{
int
i;
int
num=0;
for(i=x-1;i>=0;i--)
{
if(s[i]>='0'&&s[i]<='9')
{
num+=(int)((s[i]-'0')*pow(16,x-i-1));
}
if(s[i]>='a'&&s[i]<='f'){
num+=(int)((s[i]-'a'+10)*pow(16,x-i-1));
}
if(s[i]>='A'&&s[i]<='F'){
num+=(int)((s[i]-'A'+10)*pow(16,x-i-1));
}
}
return
num;
}

⑽ Java如何將十六進制數轉換為十進制數的自編程序

package com.swift;//所屬包
import java.util.Scanner;//導入掃描器
public class Hex2Decimal {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("please enter a Hex:");
String hex = scan.nextLine();//讀取一行
hex = hex.toUpperCase();//轉換成大寫字母
System.out.println("The hex is:" + hex);//輸出一下
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
if (hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) != -1) {//從16進制數的最後一個字元開始獲取
decimal = (int) (decimal + hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) * Math.pow(16, i));//乘以16的0次冪,然後++
} else {
System.out.println("enter error, decimal will be zero!");//如果等於-1則是非法字元
break;
}
}
System.out.println("decimal=" + decimal);
}
private static int hexChar2Decimal(char charAt) {
if (charAt >= 'A' && charAt <= 'F')
return charAt - 'A' + 10;//A~F轉換成10進制數
else if (charAt >= '0' && charAt <= '9')
return charAt-'0';//0~9字元轉換成10進制
else
return -1;
}
}

閱讀全文

與轉化為十進制數的程序相關的資料

熱點內容
床戲大全電影 瀏覽:340
6Yd7XpHYN5 瀏覽:289
微盟用什麼編程 瀏覽:867
韓國電影一個保姆最後自殺 瀏覽:497
您的數據可以保存到哪些文件 瀏覽:903
快手帶貨數據用什麼軟體看 瀏覽:506
要在哪裡更新資料庫用戶和密碼 瀏覽:442
韓國電影女生打開快遞黑色狗鏈 瀏覽:234
win10郵件附件文件已損壞 瀏覽:413
邵氏老電影完整版 瀏覽:239
蘋果app怎麼設置繁體字 瀏覽:156
文件改為文件夾 瀏覽:992
gl電影床戲 瀏覽:655
linux安裝kudzu 瀏覽:577
怎麼導入bak文件 瀏覽:399
東興那裡有車載導航系統專業升級 瀏覽:156
攻是軍人 瀏覽:760
男主姓韓與老師女主 瀏覽:3
男主角姓洛的都市小說 瀏覽:800
js設置divmargin 瀏覽:1000

友情鏈接