c-进制转换问题,只有25分实在不知道哪里有问题(16-10)

问题描述

进制转换问题,只有25分实在不知道哪里有问题(16-10)
#include
#include
#include

int getVal(char ch)
{
if(ch>='0' && ch<='9')
{
return ch - '0';
}
else
{
return ch - 'A' + 10;
}
}

int main()
{
char ch[10];
int len i val;
long int sum = 0;

gets(ch);len = strlen(ch);for(i=0; i<len; i++){    val = getVal(ch[i]);    sum += val * pow(16 i);}printf(""%u
"" sum);return 0;

}

解决方案

281016进制转化问题
16进制转换出现FFFFFFFF的问题

解决方案二:

 #include <string.h>#include""stdio.h""#include ""math.h""int getVal(char ch){    if(ch>='0' && ch<='9')    {        return ch - '0';    }    else    {        return ch - 'A' + 10;    }}int main(){    char ch[10];    int len i val;    long int sum = 0;    gets(ch);    len = strlen(ch);    for(i=0; i<len; i++)//修改    {        val = getVal(ch[len-i-1]);//修改        sum += val * pow(16.0 i);//修改    }    printf(""%ld
"" sum);//格式不对    return 0;}
时间: 2024-11-08 22:11:34

c-进制转换问题,只有25分实在不知道哪里有问题(16-10)的相关文章

C# 进制转换正负数问题

问题描述 C# 进制转换正负数问题 下位机返回这一串16进制数,例如"FF E1 FF E1 FF E1 FF E0 FF F0 FF DF 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 29 00 2A" 解析的时候两个字节一组(如:FFE1),现在我转换成十进制的时候直接用的 Convert.ToInt32(,16);但转换出来的结果都是正数,我看到下位机的规格里有负数的,请问用什么类可以转换成十进制并且可以自动识别正负数的? 解决方案

c语言-一直不能输出正确结果 栈关于进制转换的 求助

问题描述 一直不能输出正确结果 栈关于进制转换的 求助 #include #include #include #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define ERROR 0 #define TRUE 1 typedef int ElemType; typedef struct{ ElemType *base; ElemType *top; int Stacksize; }sqStack; ElemType e; sqSt

jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jdk1.6.u45及1.7u45均尝试了,也重现. 重现步骤很简单,使用debug模式启动时较容易出来,debug启动tomcat,(我的是webapp)然后在页面上随便点点即发现eclipse僵死,且任何从浏览器发出的请求都卡住不能被接收执行. 1.然后从任务管理器直接杀掉eclipse对应的jav

2000 NOIP进制转换

问题描述 2000 NOIP进制转换 求代码 解决方案 http://www.cnblogs.com/yylogo/archive/2011/08/04/NOIP-2000-2.html 解决方案二: http://blog.csdn.net/batman_/article/details/50637660 解决方案三: 题一?? 进制转换????????????? (18分) ??问题描述? ? ? ??? 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(

常用进制转换

原文:常用进制转换       最近的工作中,需要接触到一些硬件设备,处理这些设备的通讯,因此需要进行一些进制的转换.      其实,二进制.十六进制这些基本的知识,在我们刚学编程的时候,基础课应该已经讲过的了.但是,包括我自己在内,当时也仅仅是知道一般的换算规则,但是具体怎么应用,在c#中又是如何表示,也是近期才有比较深的体会.      具体的知识,各位就自己查看相关的基础知识了,这里我只给出自己在工作中的体会和实际的类库.      首先,先解释下C#的类型.一般,我们常用的有 byte

PHP中实现中文字符进制转换原理分析_php技巧

一,中文字符转十进制原理分析 GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下 复制代码 代码如下: $string = "不要迷恋哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); 由于一个汉字为

结合stack数据结构,实现不同进制转换的算法

#!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving with Algorithms and Data Structures>> # Release 3.0 # chengang882 @ 2016-12-20 # 它可以将十进制转换成二进制,八进制和十六进制 # Completed implementation of a stack ADT #数据结构 class Stack(object)

c++-求份C++运算器,需要基本云运算关系运算逻辑运算位运算进制转换功能

问题描述 求份C++运算器,需要基本云运算关系运算逻辑运算位运算进制转换功能 1基本运算功能 主要包括:加.减,乘.除.取余.自增.自减等. 2.关系运算功能 主要包括:大于.大等于.小于.小等于.等于.不等于. 3. 逻辑运算功能 主要包括:与.或.非. 4.位运算功能 主要包括:按位与.按位或.按位异或.按位取反.左移和右移. 5.进制转换功能 主要包括:包括十进制转其他进制.二进制转其他进制 解决方案 我这个别处找的代码,不是我写的.. 解决方案二: http://download.csd

php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码

十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码 代码如下: <?php /** *十进制转二进制.八进制.十六进制 不足位数前面补零* * * @param array $datalist 传入数据array(100,123,130) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 * @copyrig