二进制转换器计算器代码(用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能)

:暂无数据 2026-09-28 21:20:07 :2

二进制转换器计算器代码(用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能)

大家好,今天小编来为大家解答以下的问题,关于二进制转换器计算器代码,用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能这个很多人还不知道,现在让我们一起来看看吧!

本文目录

用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能

我有个VC++的 任意进制转换----栈的链接存储
/* 栈的链接存储----任意进制转换*/
#include 《iostream.h》
#include 《stdlib.h》
typedef int ElemType;
struct SNode {
ElemType data;
SNode* next;
};
void InitStack(SNode*& HS)
{
HS = NULL;
}
// 压栈 插入元素
void Push(SNode*& HS, const ElemType& item)
{
SNode* newptr = new SNode; /* 获取动态结点*/
newptr-》data = item; /*给新分配的结点赋值*/
newptr-》next = HS; /* 向栈顶压入新结点*/
HS = newptr;
}
//从栈中删除一个元素并返回该元素
ElemType Pop(SNode*& HS)
{
if(HS==NULL)
{
cerr《《"无法从空栈中删除元素,退出运行 !"《《endl;
exit(1);
}
SNode* p = HS;
HS = HS-》next;
ElemType temp = p-》data;
delete p;
return temp;
}
//读取栈顶元素
ElemType Peek(SNode* HS)
{
if(HS==NULL)
{
cerr《《"无法从空链栈中读取元素,退出运行 !"《《endl;
exit(1);
}
return HS-》data;
}
bool EmptyStack(SNode* HS)
{
return HS == NULL;
}
void ClearStack(SNode*& HS)
{
SNode *mp, *np;
mp = HS;
while(mp!=NULL)
{
np = mp-》next;
delete mp;
mp = np;
}
HS = NULL;
}
void Transform(long number, int r)
{
SNode *a;
InitStack(a);
while(number!=0)
{
int k = number%r;
Push(a,k);
number = number/r;
}
while(!EmptyStack(a))
{
if(r!=16)cout《《Pop(a);
else
{
int x = Pop(a);
if(x《10) cout《《x;
else
{
switch(x)
{
case 10: cout《《’A’; break;
case 11: cout《《’B’; break;
case 12: cout《《’C’; break;
case 13: cout《《’D’; break;
case 14: cout《《’E’; break;
case 15: cout《《’F’; break;
}
}
}
}
cout《《endl;
}
void main()
{

cout《《"请输入一个长整数(最长十位有效数字): ";
long n;
cin》》n;
cout《《"长整数 "《《n《《" 的十六进制数为: ";
Transform(n,16);

cout《《"长整数 "《《n《《" 的十进制数为: ";
Transform(n,10);

cout《《"长整数 "《《n《《" 的八进制数为: ";
Transform(n,8);

cout《《"长整数 "《《n《《" 的六进制数为: ";
Transform(n,6);

cout《《"长整数 "《《n《《" 的四进制数为: ";
Transform(n,4);

cout《《"长整数 "《《n《《" 的二进制数为: ";
Transform(n,2);
}

二进制代码的进制转换

转换为十进制
二进制数、八进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.
例1:把(1001.01)2转换为十进制数。
解:(1001.01)2
=1×23+0×22+0×21+1×20+0×2-1+1×2-2
=8+0+0+1+0+0.25
=9.25
例2.把(38A.11)16转换为十进制数
解:(38A.11)16
=3×162+8×16+10×160+1×16-1+1×16-2
=768+128+10+0.0625+0.0039
=906.0664
十进制转换为其他
一、一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.
例:将25转换为二进制数
解:25÷2=12余数1
12÷2=6余数0
6÷2=3余数0
3÷2=1余数1
1÷2=0余数1
所以25=(11001)2
二、同理,把十进制数转换为八进制数、十六进制数时,将基数2转换成8和16就可以了.
例:将25转换为十六进制数
解:25÷16=1余数9
1÷16=0余数1
所以25=(19)16
交叉转换
由于2^3=8,2^4=16,所以一位八进制数所能表示的数值恰好等于三位二进制数能表示的数值,而一位十六进制数与四位二进制数能表示的数值正好相当,因此八进制、十六进制与二进制数之间的转换极为方便。
(1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位.
例:将(4AF8B)16转换为二进制数.
解: 4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
(2)二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位.
例:将二进制数(111010110)2转换为十六进制数.
解: 0001 1101 0110
1 D 6
所以(111010110)2=1D6H
转换时注意最后一组不足4位时必须加0补齐4位
计算器:
Windows XP自带的计算器
注:在Windows XP自带的计算器中对表示范围进行了限制,“字节”,只能表示到十进制的255,也就是8个1,“单字”,最多可以表示16个1,“双字”,最多可表示32个1,“四字”,最多表示64个1.

C#计算器中怎么写十进制,十六进制,二进制等互相转化的代码,求大神指点

int a = 2014;
// to 16进制和二进制数组
String _Hex = Convert.ToString( a, 16 );
byte _Bytes = BitConverter.GetBytes( a );
// 再转回十进制
int _Ha = int.Parse( _Hex, System.Globalization.NumberStyles.HexNumber );
int _Ba = BitConverter.ToInt32( _Bytes, 0 );

VB计算器代码十进制转二进制和十六进制的代码急!!~

VB 二进制,八进制,十进制,十六进制转换
Public Function D_To_B(ByVal Dec As Long) As String
Do
D_To_B = Dec Mod 2 & D_To_B
Dec = Dec \ 2
Loop While Dec
End Function
Public Function B_To_D(ByVal Bin As String) As Integer
Dim i As Long
For i = 1 To Len(Bin)
B_To_D = B_To_D * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
Public Function H_To_B(ByVal Hex As String) As String
Dim i As Long
Dim B As String

Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, i, 1)
Case "0": B = B & "0000"
Case "1": B = B & "0001"
Case "2": B = B & "0010"
Case "3": B = B & "0011"
Case "4": B = B & "0100"
Case "5": B = B & "0101"
Case "6": B = B & "0110"
Case "7": B = B & "0111"
Case "8": B = B & "1000"
Case "9": B = B & "1001"
Case "A": B = B & "1010"
Case "B": B = B & "1011"
Case "C": B = B & "1100"
Case "D": B = B & "1101"
Case "E": B = B & "1110"
Case "F": B = B & "1111"
End Select
Next i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
H_To_B = B
End Function
Public Function B_To_H(ByVal Bin As String) As String
Dim i As Long
Dim H As String
If Len(Bin) Mod 4 《》 0 Then
Bin = String(4 - Len(Bin) Mod 4, "0" & Bin
End If

For i = 1 To Len(Bin) Step 4
Select Case Mid(Bin, i, 4)
Case "0000": H = H & "0"
Case "0001": H = H & "1"
Case "0010": H = H & "2"
Case "0011": H = H & "3"
Case "0100": H = H & "4"
Case "0101": H = H & "5"
Case "0110": H = H & "6"
Case "0111": H = H & "7"
Case "1000": H = H & "8"
Case "1001": H = H & "9"
Case "1010": H = H & "A"
Case "1011": H = H & "B"
Case "1100": H = H & "C"
Case "1101": H = H & "D"
Case "1110": H = H & "E"
Case "1111": H = H & "F"
End Select
Next i
B_To_H = H
End Function

关于二进制转换器计算器代码和用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

二进制转换器计算器代码(用c语言设计计算器实现加减乘除,十进制与二进制八进制十六进制的转换,有退出功能)

本文编辑:admin

更多文章:


idea控制台乱码(idea 输出 System.out.println() 控制台乱码)

idea控制台乱码(idea 输出 System.out.println() 控制台乱码)

各位老铁们,大家好,今天由我来为大家分享idea控制台乱码,以及idea 输出 System.out.println() 控制台乱码的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大

2026年10月14日 07:30

抹茶冰皮月饼(冰皮月饼的做法)

抹茶冰皮月饼(冰皮月饼的做法)

大家好,抹茶冰皮月饼相信很多的网友都不是很明白,包括冰皮月饼的做法也是一样,不过没有关系,接下来就来为大家分享关于抹茶冰皮月饼和冰皮月饼的做法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年10月14日 06:20

spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)

spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)

“spring事务的作用”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)!

2026年10月14日 05:40

网站开发项目计划书(网站建设项目策划书)

网站开发项目计划书(网站建设项目策划书)

大家好,关于网站开发项目计划书很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网站建设项目策划书的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月14日 04:50

linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)

linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)

大家好,关于linux怎么进入命令行很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么样配置linux使其启动时直接登录到命令行模式的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦

2026年10月14日 02:00

java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)

java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)

其实java培训机构好还是大学好的问题并不复杂,但是又很多的朋友都不太了解大学生想转行学java,该去java培训班还是自学呢,因此呢,今天小编就来为大家分享java培训机构好还是大学好的一些知识,希望可以帮助到大家,下面我们一起来看看这个

2026年10月13日 23:30

各种花边图案(花边怎么画 简单易学的花边绘画教程)

各种花边图案(花边怎么画 简单易学的花边绘画教程)

各位老铁们,大家好,今天由我来为大家分享各种花边图案,以及花边怎么画 简单易学的花边绘画教程的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月13日 19:10

stewardess读音(空姐的英文读音)

stewardess读音(空姐的英文读音)

本篇文章给大家谈谈stewardess读音,以及空姐的英文读音对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月13日 19:00

前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)

前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)

“前端面试必背十个点”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)!

2026年10月13日 17:50

sqlplus重置用户名密码(Oracle中的plus的用户名和密码忘了怎么办)

sqlplus重置用户名密码(Oracle中的plus的用户名和密码忘了怎么办)

大家好,关于sqlplus重置用户名密码很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Oracle中的plus的用户名和密码忘了怎么办的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站

2026年10月13日 17:40

最近更新

岳阳长沙seo优化价格怎么算?
2026-10-14 09:09:19 浏览:0
SEO技术入股是什么?新手怎么参与?
2026-10-14 09:06:24 浏览:0
热门文章

sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
thinkpadx100eu盘启动(thinkpad x100e U盘启动 支持的写入方式是什么)
2026-09-01 14:20:01 浏览:6
标签列表