用栈的顺序存储结构将二进制转换成十进制,八进制,十六进制

内存中数据的存储(更新了十六进制数大小端存储) 内存中数据的存储 文章目录内存中数据的存储一、整型在数据中的存储二、浮点型在数据中的存储 一、整型在数据中的存储 在计算机中整型的表示有三种:原码、反码、补码 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位正负表示方法不同 **原码 ** 将原来整型换算成二进制数 PS : 二进制数如何换算 例子:整数125 笔算:1111101 或者用计算机里面自带的计算器 反码 将原码的符号位不变,其他位依次按位取反就可以得到了 反码+1就得到补码 PS: 阅读详情

一. 三者相似的部分
1.结构体
在这里插入图片描述2.初始化栈
在这里插入图片描述
3.入栈
在这里插入图片描述
4.出栈
在这里插入图片描述
5.计算长度
在这里插入图片描述6.数据存入一个栈中
注意getchar()
在这里插入图片描述

二. 二 <----------- 十
1.原理
二进制转换成十进制,就是从低位起用每一位去乘以对应位的积,也就是说用第n位去乘以2 ^ (n - 1),然后全部加起来
2.代码实现
在这里插入图片描述
三. 二 <----------- 八
1.原理
把二进制的数从右往左,三位一组,不够补0

列:111=4+2+1=7
11001拆分为 001和011,001=1,011=2+1=3。
那么11001转换为八进制就是31。

2.代码实现
把二进制的数分组后一个一个存在一个新的栈里
在这里插入图片描述
尤其要注意sum是char型,c - 48把字符转换成了int型数字,在存入新栈中要**+‘0’ (48)转换成char类型**,以及新的一组sum = 0
在这里插入图片描述
最后输出
在这里插入图片描述
四. 二 <----------- 十六
1.原理
参照二进制转八内进制,但是它从右往左,四位一组,不够补0
十六进制用0-9和A-F表示

0000 —— 0
0001 —— 1
0010 —— 2
0011 —— 3
0100 —— 4
0101 —— 5
0110 —— 6
0111 —— 7
1000 —— 8
1001 —— 9
1010 —— A
1011 —— B
1100 —— C
1101 —— D
1110 —— E
1111 —— F

列子:1101101拆分为1101、0110
分别计算两个二进制的值,1101=8+4+0+1=13,十六进制中13为D
0110=4+2=6,那么二进制1101101转换为十六进制就是6D

2.代码实现
比转化为八进制复杂在sum > 9过后不只是要+‘0’(48)
48 —— 0
…
57 —— 9

65 —— A
…
70 —— F

中间相差7,因此sum + 55
在这里插入图片描述
同样的输出

【数据结构】手把手教你利用栈实现二进制转换成十进制(C语言) 1:第一步创建一个栈 #include<stdio.h> #include<stdlib.h> //malloc,realloc函数 #include<math.h> //使用到了pow()函数 #define maxsize 20 typedef char Elemtype; //将代码中所有Elemtype改为char //定义栈 typedef struct { Elemtype *top; Elemt 阅读详情

相关推荐

利用栈完成数制转换 十进制转二进制、八进制、十六进制(数据结构)

实验目的 深入理解栈的“后进先出”特性 掌握栈的两种存储结构类型定义及基本算法 能在实际问题背景下灵活运用栈 Description 利用栈完成数制转换,能够完成十进制向八进制的转换 C++ 这里我采用栈的顺序存储结构 Source Code #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef int ElemType; typedef struct {

记录学编程后遇到的问题,注意点以及相关知识 2万+

算法(第四版)——栈

定义 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。  代码实现 链表实现 public class St...

Finley.Hwang‘s Blog 613

数据结构 实验二 栈的应用

一、实验内容: 1、将任意十进制数转换为三种进制数(二进制、八进制、十六进制)。 2、输入任意一串由括号(、)、[、]、{、}组成的括号序列,判断括号是否匹配。 提示:采用顺序栈实现。 二、实验原理: 1、栈的逻辑结构特点: 栈是限定仅在表尾进行插入或删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。不含元素的空表称空栈。栈的特点:后进先出LIFO。 2、栈的基本操作有4类: 结构初始化、结构销毁、引用型操作、加工型操作。 3、栈的顺序存储结构——顺序栈:用一组地址连

weixin_51733609的博客 1369

利用栈进行二进制到八进制、十进制、十六进制的转换

1、二进制转八进制: /*二进制转八进制*/ #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;math.h&amp;gt; #define MAXSIZE 20 #define ERROR 0 #define OK 1 typedef int Status; typedef char El

苍之羽 5728

掌握多种进制转换:从二进制到十六进制

本文还有配套的精品资源,点击获取 简介:计算机科学中的进制转换是数字系统、编程及数据存储等领域的基础技能。本文将详细介绍二进制、八进制、十进制和十六进制这四种主要进制系统及其转换方法。通过对这些进制转换的实际应用和练习,读者可以加深对计算机运作原理和数据表示的理解,提高编程和数据处理能力。 1. 进制换算的基础知识 进制换算是计算机科学中的基石之一,对于理解...

weixin_42499004的博客 1314

Linux下开机异常(fsck exited with status code 4)

Linux下开机异常事情是这样的,本来我呢跑着程序听着歌,结果忽然就死机了,我只能强制关机,再次打开系统的时候,就提示这样fsck from util-linux 2.26.2 /dev/sda10 contains a file system with errors, check forced. /dev/sda10: Inodes that were part of a corrupted pr

芳草碧连天 2万+

栈--利用栈实现进制转换

利用栈实现进制转换 一、二进制转十进制 利用栈的数据结构特点,将二进制转换为十进制数。 二进制数是计算机数据的存储形式,它是由一串0和1组成的,每个二进制数转换成相应的十进制数方法如下: (XnXn-1……X3X2X1)2 = X1*2^0+X2*2^1+…+Xn*2^(n-1) 一个二进制数要转换为相应的十进制数,就是从最低位起用每一位去乘以对应位的积,也就是说用第n位去乘以2^(...

hongcaixia的博客 3万+

Qt跨平台CAN通信实战:Vector、PCAN与周立功设备统一接口设计

本文针对Qt开发中常见的多品牌CAN设备兼容难题,提出了一套统一的跨平台CAN通信接口设计方案。通过抽象层封装,实现了对Vector、PCAN和周立功设备的统一操作,上层业务代码无需修改即可在不同硬件间切换,有效解决了驱动API差异、环境配置复杂和维护成本高等痛点,显著提升了代码复用率和开发效率。

weixin_29161785的博客 333

利用栈实现进制转换

利用栈实现的进制转化

weixin_52778075的博客 1万+

IAR9.20.4安装与注册全攻略:附资源及典型问题解决方案

本文提供IAR9.20.4的详细安装与注册指南,涵盖环境准备、安装步骤、权限设置及注册机使用技巧。针对典型问题如评估版残留、权限不足和杀毒软件拦截等,给出了具体解决方案,帮助用户顺利完成IAR开发环境的搭建与激活。

a2b3c4d5e的博客 297

vuecli3 实现 移动端和pc端 界面切换(两套代码)

适合场景 多页面多系统应用 所有系统都在同一目录下。配置多入口多出口。每个系统之间可以链接。每个系统内依然采用Vue单页应用开发。 产品需求:一套代码 兼容pc端和移动端 , 移动端和pc端的样式布局差别很大,需要使用多界面,并判断使用手机的时候跳转移动端代码,使用pc端跳转pc端代码。 项目目录 分为两部分代码,pc 和mobile 第一步:创建一个登陆页面的文件 在项目public文件夹下创建一个login.html,其实就是将index.html复制一份,将title改一下: <!DOCTYP

你怎么也喜欢嘴巴嘟嘟 5922

数据结构实验4_C语言_顺序栈的基本操作及应用、栈的应用之进制转换

实验4、顺序栈的基本操作及应用 (1)实验目的 通过该实验,让学生掌握栈的相关基本概念,认识栈是插入和删除集中在一端进行的线性结构,掌握栈的“先入后出”操作特点。 栈在进行各类操作时,栈底指针固定不动,掌握栈空、栈满的判断条件。 (2)实验内容 用顺序存储结构,实现教材定义的栈的基本操作,提供数制转换功能,将输入的十进制整数转换成二进制、八进制或十六进制。 (3)参考界面 菜单中包括以下功能: 1.初始化栈, 2.销毁栈, 3.清空栈, 4.栈判空, 5.求栈长度, 6.获取栈顶元素, 7.插入一个 元素,

xiaosi的博客 6404

介绍七种常见还危险的病毒(带样本)

简介:能够感染用户计算机bai系统中的.exe、.dll和.html文件,将自身加密以后缀加到目标文件中。样本(源文件):https://wwx.lanzoux.com/iJx4njrpz1c / https://wwx.lanzoui.com/iYRNLwd8ldc。英文名称:Virus.Win32.Viking.A(标准) / Worm.Win32.Fujack.A(标准)英文名称:Net-Worm.Win32.Blaster.A(标准)/ Lovesan.A/ Msblast.A。

2301_78858007的博客 8454

用栈来实现将一个十进制数转换成等值的二进制数或者八进制数

用栈来实现将一个十进制数转换成等值的二进制数或者八进制数

mili_j的博客 2250

SpringBoot 插件化开发详细总结

SpringBoot 插件化开发方案总结

congge 1万+

Arduino读取串口接收到的数据并发送数据

Arduino读取串口接收到的数据并发送数据 源程序: void setup() { Serial.begin(115200); } void loop() { String comdata ; while (Serial.available() > 0) { comdata += char(Serial.read()); delay(2); } if (comdata.length() > 0) { Serial.print("串口接收到的数据:"); Serial.println(comd

perseverance51博客 1万+

栈应用:实现二进制转八进制、十进制、十六进制

进制转换原理 二进制转十进制 二进制是计算机数据的存储形式,它是由一串0和1组成,每个二进制数转换成相应的十进制数方法为: (XnXn-1Xn-2...X3X2X1)2 = X1*2^0+X2*^1+...Xn*2^(n-1)。 二进制转八进制 利用二进制转十进制原理,从低位起将每3位二进制转为1位十进制 然后进行替换即可。 二进制转十六进制 利用二进制转十进制原理,从低位起

重庆李四 3938

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[数据结构]栈的基本操作以及利用栈实现二进制计算器

利用栈实现进制转换计算器

weixin_43717520的博客 1290

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

数据结构与算法(C语言) | 栈和队列——栈

栈是一种重要的线性结构,通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。(后进先出) –栈的元素必须“后进先出”。 –栈的操作只能在这个线性表的表尾进行。 –注:对于栈来说,这个表尾称为栈的栈顶(top),相应的表头称为栈底(bottom)。 •因为栈的本质是一个线性表,线性表有两种存储形式,那么栈也有分为栈的顺序存储结构和栈的链式存储结构。 •最开始栈中不含有任何数据,...

Shannon 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

栈和队列及其应用

实验三:栈和队列及其应用 实验项目名称:栈和队列及其应用 实验目的及要求: 实验目的 (1)理解栈和队列数据类型的动态分配顺序存储结构的表示和运算的C语言实现。 (2)掌握栈和队列结构在实际中的应用。 要求: (1)设计栈和队列的顺序存储结构(动态分配存储空间); (2)在顺序存储结构下实现抽象数据类型中定义的各种基本操作。 (3)利用栈和队列的基本操作:设计十进制数转换成二进制数的算法,二进制数转换成八进制数的算法,二进制数转换成十六进制数的算法。 3.实验原理 利用栈先进后出,队列先进先出。 十进制数

代码演奏家 851

数据结构(十进制转换)

使用一个栈,将十进制装换为二进制或八、十六进制;

wise_ly的博客 734

栈的使用

栈的使用 栈是一种重要的线性结构,通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。(后进先出) –栈的元素必须“后进先出”。 –栈的操作只能在这个线性表的表尾进行。 –注:对于栈来说,这个表尾称为栈的栈顶(top),相应的表头称为栈底(bottom)。 •因为栈的本质是一个线性表,线性表有两种存储形式,那么栈也有分为栈的顺序存储结构和栈的链式存储结构。 •最开始栈中不含有任何数据,叫做空栈,此时栈顶就是栈底。然后数据从栈顶进入,栈顶栈底分离,整个栈的当前容量变大。数据出栈时从栈顶弹出,栈顶下

www1hifi的博客 621

基于C语言、线性表的 二、八、十、十六进制转换 及 加运算、左右移位运算、乘法运算 的科学计算器设计

源代码见资源:https://download.youkuaiyun.com/download/weixin_44410704/19840894 一、需求分析 1.1 设计题目 题目:科学计算器 用C语言实现十进制到二进制、八进制、十六进制的转换,并实现基本的加法运算。 任务:编程实现以下功能 十进制转换位二进制输出 输入两个十进制整数a和b。将这两个十进制数a、b转换成二进制数,保存并将这两个二进制数打印输出。 例如:a=6=110, b=5=101; 二进制加法运算 实现二进制加法,将二进制转换后的a、b相加,结

Jasmine-Lily的博客 1694

C语言数据结构-栈的知识归纳以及栈的应用

栈是一种常见的数据结构,它的特点是先进后出(Last In First Out,LIFO),类似于我们平时用的一个栈子,一次只能放一个物品,后放的物品会覆盖之前放的物品。在计算机中,栈是一种非常重要的数据结构,用来实现函数调用、表达式求值等功能。

qq_63713328的博客 608

C数据结构和算法之栈和队列

文章目录栈的定义栈的相关操作入栈出栈清空栈:销毁栈,要一个一个的释放掉计算指针的当前容量。实例分析:二进制转化为十进制二进制转化为八进制二进制转换十六进制:逆波兰表达式队列 栈的定义 栈(Stack)是一个先进后出的线性表,要求只在表尾进行删除和插入操作。表尾称为栈顶,表头称为栈底。 栈的是一个特殊的线性表,线性表有两种存储形,那么栈也分为顺序存储结构和链式存储结构。主要讲顺序存储结构。 栈中不含有任何元素叫做空栈。 定义一个顺序存储栈: #include <stdio.h> #define

紫薯的博客 379
上一篇: 区别清空栈和销毁栈以及计算栈当前的容量
下一篇: 两个非降序有序链表序列的交集
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值