一个利用堆栈实现的正整数10进制向16进制的转化程序

利用堆栈将一个十进制数转换为一个十六进制数 利用堆栈将一个十进制数转换为一个十六进制数。 阅读详情

/*用STACK将任意一个十进制数转化为十六进制数,输出*/

#include "Stdio.h"

#include "Conio.h"


#define stackinitsize 100;

#define stackincrement 10;


typedef struct
{
 
  int *base;
 
  int *top;
 
  int stacksize;}sqstack;

 


main()
{  int n,e;
 
sqstack s;
 
initstack(s);
 
scanf("%d",&n);
 
while(n){
    push(s,n%16);
        
    n=(n-n%16)/16;
        
   }
 
while(!stackempty(s))
  
  { pop(s,e);
    
   
    switch(e){
        
      case 10:(char)e='A';
                printf("%c",e);
        
      case 11:(char)e='B';
                printf("%c",e);
        
      case 12:(char)e='C';
                printf("%c",e);
        
      case 13:(char)e='D';
                printf("%c",e);
       
      case 14:(char)e='E';
                printf("%c",e);
        
      case 15:(char)e='F';
                printf("%c",e);
        
      default: printf("%d",e);
      }
  
  }


}
/*算法initstack()*/
status initstack(sqstack &s)
   {
 
      s.base=(int*)malloc(stackinitsize*sizeof(int));     
      if(!s.base)exit(-2);
 
      s.top=s.base;
 
      s.stacksize=stackinitsize;
 
      return 1;
}

/*算法stackempty()*/

status stackempty(sqstack &s){
   
      if(!s.top)
       
          return 1;
   
      else return 0;

}

/*算法empty()*/status push(sqstack &s,int e)
{
  
if(s.top-s.base>=s.stacksize)
   {
  
      s.base=(elemtype*)realloc(s.base,(s.stacksize+stackincrement)*sizeof(int));
  
      if(!s.base)exit(-2);
  
      s.top=s.base+s.stacksize;
  
      s.stacksize+=stackincrement;
  
}   *s.top++=e;
  
return 1;}/*算法pop()*/

status pop(sqstack &s,int &e)
{  if(s.top==s.base)
     return 0;
    
e=*--s.top;     return 1;}

利用顺序栈将一个非负的十进制整数N转换为对应的B进制数。 利用顺序栈将一个非负的十进制整数N转换为对应的B进制数。非负的十进制整数N和B都从键盘输入;转换结果从屏幕输出。 立即下载

相关推荐

Pytest 常见问题及其解决方案

Pytest 是一个强大且灵活的测试框架,但初学者在使用过程中难免会遇到各种问题。希望通过这篇文章,你能更好地应对常见的挑战,写出更高效、更稳定的测试代码。测试不是负担,而是保障。写好测试不仅能提高代码质量,还能让你在面对变更时更加从容自信。

qq_52137592的博客 899

利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。(第二版)

利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能【实验题目内容】【实验环境】(使用的软件):VS - 2010 【实验题目内容】 保持计算机默认的十进制不变(要求不用C++流操纵符转换基数为八进制形式oct,不用C++流操纵符转换基数为十六进制形式hex,也不用setbase(base)函数将基数设置为base)。利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能,要求设计C++算法。以下函数是要求实现的函数: //将非负整数Integer转换为新基数为Ra

LikeAshton的博客 1714

1.深入浅出:理解三极管截止、放大和饱和状态!——参考《模拟电子技术基础》清华大学华成英主讲

幼儿园水平理解三极管截止、放大和饱和状态!书上看不懂,听课听不懂的过来! 绕不开的三极管结构 以NPN为例,晶体三极管的结构,这是很多人不想看的,但是确实是非常重要的!不看结构是理解不了工作原理的! (这样记忆:N是negative,负,代表多子为电子;P是positive,正,代表多子为空穴) 注意观察三极管的结构,有助于理解工作时的状态。 两张图结合起来看,略作解释: 1.图中空心为空穴带正...

Hardware_harder的博客 4万+

栈 10进制转16进制

#include<winuser.inl> #include<stdio.h> #include <time.h> #include <cstdlib> #include <string.h> /* 栈的应用实例 -- 数进制转换 要求:输入任意的正整数N(十进制),分别输出该整数的二进制,八进制,十六进制的结果 计算公式: N = (N / d) + N mod d 216(十进制) = 330(八进制) = D8(十六进制

weixin_43528481的博客 4354

【win11】主板更新之后pin不可用,恢复方法

台式机的主板更新了BIOS,再开机竟然登录不进去系统了。 登录界面上显示:【由于此设备上的安全设置已更改,你的pin码不再可用。单击以重新设置pin】 点击【单击以重新设置pin】没有任何反应。 也没有密码登录选项。 在网上找到解决方法,不用PE,只需要按步骤操作即可。通过实际验证可行,现记录如下。

1万+

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

一名全栈小白的博客 1万+

C语言数据结构 -- 栈的应用 十进制转十六进制

【代码】C语言数据结构 -- 栈的应用 十进制转十六进制。

m0_69435788的博客 2001

从零构建AI辅助逆向分析环境:JADX-MCP与LLM的实战集成指南

本文详细介绍了如何从零构建AI辅助逆向分析环境,通过集成JADX-MCP与LLM技术,提升Android应用逆向工程效率。文章涵盖环境搭建、插件安装、MCP服务器配置及实战案例分析,帮助开发者快速掌握AI在代码理解、漏洞挖掘和自动化文档生成中的应用。

weixin_27875131的博客 838

用堆栈实现十进制到十六进制的转化(支持长整型范围内的整数)

用堆栈实现十进制到十六进制的转化(支持长整型范围内的整数) 这个东西的实现主要分两个部分:正数部分和负数部分 (小数部分)要取整比较麻烦就没做,正数部分比较简单,十六进一;负数部分则略微麻烦一些,因为负数转要先对其对应正数各位取反然后加一,同时也要考虑进位的问题,代码在下面。 (个人拙作,如有错误,请多见谅) 主要思路: 1.十进制转为十六进制,就是每次对十六取余,然后把得到的数压栈。 2.若是负数,则先转为正数,求出对应正数的十六进制后对各位取反,然后加一。 3.各位出栈。 4.输入数据范围为长整型。 #

weixin_55508387的博客 3758

在轻量化与精度之间取得平衡:YOLOv8 + GhostNet 的设计与实验分析

摘要: GhostNet系列(GhostNet、GhostNetv2、GhostNeXt)通过“幽灵特征图”技术,以极低计算量生成丰富特征,为YOLOv8提供轻量化改造方案。该技术能在减少参数量与计算量的同时保持或提升检测精度,适用于边缘设备部署。实现时需替换YOLOv8的Backbone为GhostNet模块,并通过消融实验验证其有效性。实验数据表明,改造后的模型在参数量降低30%的同时,推理速度提升28.6%,mAP@0.5最高提升1.9个百分点,平衡了轻量化与精度,为毕设提供技术创新性与工程落地性的双

m0_64661770的博客 194

Synopsys逻辑工艺库(DC综合)

逻辑库包括仅与综合过程有关的信息且通过DC用于设计的综合和优化。这一信息包括引脚到引脚的时序、面积、引脚类型和功耗以及其他DC需要的必须数据。逻辑库是一个文本(通常扩展名".lib"),通过使用Library Compiler(LC)编译生成带有扩展名名".db"的二进制文件。以SMIC的逻辑综合库为例:库文件下载地址。

baidu_34971492的博客 2422

递归程序设计

一、题目要求 题目1:将非负十进制整数n转换成b进制。(其中b=2~16) 题目2:任何一个正整数都可以用2的幂次方表示。例如:     137=27+23+2^0     同时约定幂次方用括号来表示,即ab 可表示为a(b)。    由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+2^0 所以最后137可表示为: 2...

Adore_的博客 530

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3520

CCF NOI1076 进制转换

问题链接:CCF NOI1076 进制转换。 时间限制: 1000 ms  空间限制: 262144 KB 题目描述    用递归算法将一个十进制数X(1<=X<=10^9)转换成任意进制数M(2<=M<=16)。 输入   一行两个正整数X和M。 输出   输出X的M进制的表示。 样例输入 21 16 样例输出 1F 数据范围限

海岛Blog 1736

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

数据类型的划分和进制之间的转换方式(二进制,十进制,八进制,十六进制)

数据类型的划分 值类型(13种) 值存储在堆栈中 存储空间小 调用速度快 a. 值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。 b. 值类型直接存储其值 c. 值类型的实例通常是在线程栈上分配的(静态分配),但是在某些情形下可以存储在堆中 d. 值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。栈的内存是自...

皮卡丘丘丘~~~ 1102

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数据类型转化

数据类型 (1)值类型(13种) 值直接存储在堆栈中,存储空间小,调用速度快(内存) 结构体(数值类型、bool 型、用户定义的结构体),枚举,可空类型 bool类型:true/false 1/0 位:代表取值范围2的多少次方 有无符号:代表的是 是否能够取得负数 0是最小的正整数 -1是最大的负整数 无符号代表不包括负数 byte:8位无符号整数 范围 0—255 sbyte:8...

qq_43551373的博客 287

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

关于c语言的16个问题

C 语言是最佳选择 从2000年5月29日发布至今,SQLite 一直都是用 C 语言实现。C 一直是实现像 SQLite 这类软件库的最佳语言。目前,还没有任何计划要采用另外一门语言对 SQLite 进行重新开发。

快乐小半半的博客 3302

c语言 char作用,c语言中char型数据能直接运算吗?

c语言中char型数据能直接运算吗?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!c语言中char型数据能直接运算吗?在某些低版本编译器中可以,在高版本的一些则不行(貌似是这样,不确定,我在vc++6就可以,但vs2013是不行的)在高版本中位操作(操作使有效位溢出时)会提醒堆栈溢出的错误。C语言中int型数据和flo...

weixin_42442019的博客 1650

递归函数

函数的递归 函数可以调用自己,这就叫函数的递归 void recurse(int i) { if (i > 0) { recurse(i - 1); } printf("i = %d\n", i); } int main() { recurse(10); return 0; } 递归的缺点 一个有缺陷的递归会很快耗尽计算机的资源,递归的程序难以理解和维护。 C0FD...

weixin_42465002的博客 276

阿里巴巴2013笔试题 算法/研发岗 【详解】

题目:http://wenku.baidu.com/view/602da2d4240c844769eaee55.html 1.-7的二进制补码 (D) (1)-7的原码 1000 0111 (2)符号位不变 1000 0111 (3)数值位取反 1111 1000 (4)加1 1111 1001 注意: (1)正整数的补码与原码相同 (2)补码...

weixin_30702887的博客 1003

汇编语言总结笔记

汇编语言初识(一) 开始学习汇编语言,对相关的所学知识做个总结,希望对自己可以有所提高。 1、在计算机中数的表示方式 因为计算机中只能存储二进制数,所以一般都是通过二进制直接进行存储,但是为了方便阅读和程序员的编码简单化,就出现了八进制、十进制、十六进制,一般在汇编的学习过程中以二、十、十六进制为主。 四种数据的表示形式符号是:B(二进制)、O(八进制),D(十进制),

liuy88141的博客 1万+

微机原理或汇编语言总结(全篇)

看到一篇讲解微机原理或者汇编语言蛮详细的,因此分享给大家! 1、在计算机中数的表示方式 因为计算机中只能存储二进制数,所以一般都是通过二进制直接进行存储,但是为了方便阅读和程序员的编码简单化,就出现了八进制、十进制、十六进制,一般在汇编的学习过程中以二、十、十六进制为主。 四种数据的表示形式符号是:B(二进制)、O(八进制),D(十进制),H(十六进制) 二进制、八进制

best_fiends_zxh的博客 1万+

嵌入式八股文总结(C语言篇)

最近正在准备秋招,在此每天记录一些面试常问的八股文,希望可以和大家一起进步。(持续更新中……)

小海螺的博客 3万+

汇编语言总结(全篇)

看到一篇讲解微机原理或者汇编语言蛮详细的,因此分享给大家! 1、在计算机中数的表示方式 因为计算机中只能存储二进制数,所以一般都是通过二进制直接进行存储,但是为了方便阅读和程序员的编码简单化,就出现了八进制、十进制、十六进制,一般在汇编的学习过程中以二、十、十六进制为主。 四种数据的表示形式符号是:B(二进制)、O(八进制)...

qq_40627648的博客 7244

汇编语言总结笔记 (四)

汇编语言初识(一) 开始学习汇编语言,对相关的所学知识做个总结,希望对自己可以有所提高。 1、在计算机中数的表示方式 因为计算机中只能存储二进制数,所以一般都是通过二进制直接进行存储,但是为了方便阅读和程序员的编码简单化,就出现了八进制、十进制、十六进制,一般在汇编的学习过程中以二、十、十六进制为主。 四种数据的表示形式符号是:B(二进制)、O(八进制),D(十进制),H(十六进制) 二...

weixin_33933118的博客 958

计算机组成原理中阶符是什么,计算机组成原理习手册.doc

计算机组成原理习手册计算机组成原理复习资料(自行整理版)第一章:涵盖分值大概5分左右。老师上课讲到的冯·诺依曼型计算机的组成结构是本次考试的考点,有可能考选择题,也有可能考简答题。以及微机的结构以及原理,也是不可忽视的考点之一。(简答题):计算机硬件由哪些部分组成?答:第一种答案是由CPU,存储器以及I/O设备组成;第二种答案是变形题,提问是冯·诺依曼型计算机的硬件组成系统有哪些部分组成?这时候的...

weixin_34672875的博客 2003
上一篇: 程序员喝酒的计算机文化
下一篇: Jboss4.2.*版本环境搭建产生问题解决总结
fishstudio
博客等级 码龄23年 4粉丝 41原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值