N进制转十进制-C语言

2023-11-04

//N进制到十进制 
#include <stdio.h>
#include <string.h>
#define N 8
int NToDec1(const char *a, int len, int base);
int NToDec2(const char *a, int len, int base);
int main()
{
	char number_oc[20];
	gets(number_oc);
	int sum = 0;
	int len = strlen(number_oc);
	sum = NToDec2(number_oc, len, N);
	printf("%d\n", sum);
	return 0;
} 
//从左往右取值 
int NToDec1(const char *a, int len, int base)
{
	int sum = 0;
	for(int i = 0; i < len; i++)
	{
		//主要 
		if(a[i] >= 'a' && a[i] <= 'z')
			sum = sum * N + a[i] - 'a' + 10;
		else if(a[i] >= 'A' && a[i] <= 'Z')
			sum = sum * N + a[i] - 'A' + 10;
		else
			sum = sum * N + a[i] - '0';
	}
	return sum;
} 
//从右往左取值 
int NToDec2(const char *a, int len, int base)
{
	int sum = 0;
	int weight = 1;
	for(int i = len - 1; i >= 0; i--)
	{
		//主要 
		if(a[i] >= 'a' && a[i] <= 'z')
			sum += (a[i] - 'a' + 10)*weight;
		else if(a[i] >= 'A' && a[i] <= 'Z')
			sum += (a[i] - 'A' + 10)*weight;
		else
			sum += (a[i] - '0')*weight;
		weight *=  base;
	}
	return sum;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

N进制转十进制-C语言 的相关文章

随机推荐

  • 线阵相机、镜头及光源的选型

    线阵相机顾名思义就是取像是成线性的 它的传感器是成线型的 举个例子 比如面阵相机的分辨率是640 480就是说这个相机横向有640个像元 纵向有480个像元 而线阵相机分辨率只体现在横向 比如2048像素的线阵相机就是说横向有2048个像元
  • 颜色空间YUV简介

    YUV概念 YUV是被欧洲电视系统所采用的一种颜色编码方法 属于PAL Phase Alternation Line 是PAL和SECAM模拟彩色电视制式采用的颜色空间 其中的Y U V几个字母不是英文单词的组合词 Y代表亮度 其实Y就是图
  • java集合的copy

    java拷贝集合的方法有很多种 常用的比较简单的做法有两种 直接使用集合构造方法实现浅拷贝 这种方法只是保证list和listCopy的引用不一样 但是集合元素的引用时一样的 List
  • 生产管理MES系统框架

    1 总体框架描述 生产管理MES系统框架涵盖了涉及生产制造范畴内的所有业务管理内容 包括 产品生产数据 销售订单管理 材料需求计算和计划 采购管理 仓库物流管理 主生产计划 生产作业管理 生产过程物料加工 生产过程工装组装管理 品质管理 检
  • idea 插件的使用 进阶篇(个人收集使用中的)

    idea 插件的使用 进阶篇 个人收集使用中的 恭喜你 如果你已经看到这篇文章 证明在idear使用上已经初有小成 那么就要向着大神进发了 下边就是大神之路 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道 Inte
  • Quartz和Spring Task定时任务的简单应用和比较

    一 Quartz 引入quartz的jar包 配置文件中定义org springframework scheduling quartz MethodInvokingJobDetailFactoryBean 并指定它的targetObject
  • 理解HTML、CSS、javascript之间的关系

    理解HTML CSS javascript之间的关系 版权属于 博客园 牧云流 本文作者 牧云流 原文链接 https www cnblogs com dreamingbaobei p 10407626 html 网页主要有三部分组成 结构
  • pygame从入门到放弃(一)

    首先pip 那个pygame 然后看代码 临时写的 图片就不插了 防止舍友砍我 现在是凌晨 TOC 井字棋游戏 此代码基本能立于不败之地 import random 可视化输出 def draw Board board print prin
  • gcc中预定义的宏__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__

    今天在看Linux系统编程这本书的代码的时候看到了 GNUC 不太清楚这个宏所以去查了一下 以此记录 GNU C预定义了一系列的宏 这些宏都是以双下划线开始的 这里只讲一下 GNUC GNUC MINOR GNUC PATCHLEVEL 完
  • vue中this.$set()的用法

    1 this set 的作用 向响应式对象中添加一个属性 并确保这个新属性同样是响应式的 且触发视图更新 this set 用于向响应式对象上添加新属性 因为 Vue 无法探测普通的新增属性 简单来说 就是我们在methods中给数据添加了
  • 整数拆分--

    题目描述 一个整数总可以拆分为2的幂的和 例如 7 1 2 4 7 1 2 2 2 7 1 1 1 4 7 1 1 1 2 2 7 1 1 1 1 1 2 7 1 1 1 1 1 1 1 总共有六种不同的拆分方式 再比如 4可以拆分成 4
  • [每日两题系列]刷算法题咯~~

    今日题目 最小栈 有效的括号 本系列所选题目均来自力扣或者牛客网站 所选题目主要是以其中的简单题为主 中等题为辅 包含少数困难题 原因是 本人目前能力还不够 开展这个系列的目的是督促自己 在暑假的时间里也要保持有一定的刷题量 拒绝摆烂 话不
  • FISCO BCOS 联盟链Max搭建

    FISCO BCOS Max版本 版本说明 为了能够支撑海量交易上链场景 v3 0 0推出了Max版本FISCO BCOS Max版本FISCO BCOS旨在提供海量存储服务 高性能可扩展的执行模块 高可用的故障恢复机制 Max版FISCO
  • ZYNQ #2 - Linux环境下烧录BOOT.BIN从QSPI-FLASH启动

    这篇博文讲述的是在Linux环境下 将生成的新BOOT BIN利用dd指令写入板上qspi flash中 板子从flash启动后 转至SD卡执行linux内核 这篇博文是为了之后不使用SD卡 将linux内核以及根文件系统放入emmc启动做
  • Web前端复习——Javascript(字符串)

    1 什么是字符串 字符串是多个字符组成的一个 只读 的集合 数组 注意 1 凡是数组对象中 不修改原对象的API 字符串都能用 比如 length属性 字符个数 用 i 访问每个字符 slice indexof 2 凡是数组对象中 直接修改
  • DocArray 和 Redis 联手,让推荐系统飞起来

    在DocArray中使用Redis后端 基于向量相似性搜索可以快速搭建一个实时商品推荐系统 现在 跟上我们的脚步 一起了解搭建系统的关键步骤 并且深入了解推荐的原理吧 推荐系统会根据用户画像 历史行为 如购买 喜欢 浏览等 给用户的兴趣建模
  • 36.求解简单的四则运算表达式,输入一个形式如“操作数  运算符  操作数”的四则运算表达式,输出运算结果

    36 求解简单的四则运算表达式 输入一个形式如 操作数 运算符 操作数 的四则运算表达式 输出运算结果 include
  • SpringCloud(注册中心)

    分布式架构与微服 restfu分格 入参的分格 rest分格 请求的分格 微服务 单体架构的应用场景 微服务的应用场景 上百个服务 服务于服务之间是有依赖关系的 什么是springcloud 当下流行的微服务 注册中心Eureka 注册中心
  • LeetCode-336.回文对、字典树、字符串翻转

    给定一组唯一的单词 找出所有不同 的索引对 i j 使得列表中的两个单词 words i words j 可拼接成回文串 示例 1 输入 abcd dcba lls s sssll 输出 0 1 1 0 3 2 2 4 解释 可拼接成的回文
  • N进制转十进制-C语言

    N进制到十进制 include