1楼:匿名用户
这是考察字符串操作和进制转换
例如int sum= 0;
分析325a
字符串倒置
a523
读取第一个字符 得到'a'
a是10吧 并且是第0位
sum= 10*10^0+sum;
读取第二个字符
得到'2'
'2'就是2喽 第一位
sum = 2*10^1+sum;
以此类推
注意:c语言不能用^
2楼:互相学习中
请问你用的哪种程序语言
如何将jpg文件转换为十六进制字符串
3楼:育知同创教育
字符是指string?
十六进制字符串,指十六进制数字对应的字符串?
那就是integer.tohexstring( (byte) string.charat(i) )
如何将串口读取的十六进制字符串转换成十进制数值
4楼:匿名用户
串口读取字节流数据,本身就是ascii码,其值范围在0-255之间,没有十六进制一说。所谓十六进制字符串,仅是为了显示规范将0-255的值,转换为两字符的00-ff显示而已。
至于将十六进制字符串,转换为十进制,不同编程语言有不同处理方法。比如vb可前缀以 &h在十六进制字符串上直接表示十六进制数字,其值就是十进制值。
适当范围内的数字,前缀以 &h,可以直接表示十六进制数字。例如,十六进制表示法的 &h10
代表十进制的 16。
5楼:苍勤妫玛丽
intcms***mdld::transtodec(bytebt)//16进制向10进制转换函数//
在on***m里面
for(k=0;k<15;k++)
safearray_inp.getelement(&k,rxdata+k);
ad2[0]
=(float)transtodec(rxdata);
ad2[1]
=(float)transtodec(rxdata+1);
6楼:运长清芷兰
sscanf_s
12345char *str = "ffff"; // 接收到的16进制字符串dword hex=0;sscanf_s(str, "%x", &hex, 4); // 4为hex的长度int dec = hex;printf("dec:%d\n",dec); // dec为10进制数
msdn:
https://msdn.microsoft.***/en-us/library/t6z7bya3.aspx
7楼:蹉微兰称鸟
byte
->int
直接转换
~~~~~~~~~~
如果是多字节,就需要逐个byte
乘0xff-----不同位,乘的次数不同,像int是32位,即有4个byte。那最高位需要乘3次0xff、次高位乘2次0xff、第3位需要乘0xff,第4位直接加起来
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
java字符串16进制怎么转换成数值
8楼:酷月之心
使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串
public static string tostringhex1(string s) catch (exception e)
}try catch (exception e1)return s;}
9楼:匿名用户
integer.parseint("ffffff",16);
怎么把十六进制的数字转换为字符串
10楼:匿名用户
不知道你要什么语言的,这是c#,十六进制转中文
////// 从16进制转换成汉字
///////// 编码,如"utf-8","gb2312"
///public static string unhex(string hex, string charset)
// 需要将 hex 转换成 byte 数组。
byte bytes = new byte[hex.length / 2];
for (int i = 0; i < bytes.length; i++)
catch
}system.text.encoding chs = system.text.encoding.getencoding(charset);
return chs.getstring(bytes);}
11楼:
编程——字符串——数值/字符串转换——十六进制数字字符串至数值转换
怎么把16进制数值转换成字符串
12楼:
如果输入字符串控件的显示方式是16进制的那么转换将无法执行,,请教怎么办,,我串口中读到的字符串格式是16进制的,所以显示的方式只能是16进制的不是正常显示,比如格式是:162a 22,就无法转成10进制数值。。请求赐教如何将16进制字符串(显示的方式是16进制的)转换成10进制的
如何将字符串转换成十六进制数据
13楼:文化厨子
字符类型是整型类型的一种,将其转换成int类型,然后再输出十六进制形式即可。下面是一个示例程序。
#include
usingnamespacestd;
intmain()
{charstr_test="helloworld\n";
intlimit=strlen(str_test);
for(intinx=0;inx!=limit;++inx)//用static_cast将字符类型转成int类型cout<(str_test[inx])<<"\t";
cout<
程序执行结果:
14楼:匿名用户
是纯数字还是字符,如果是纯数字,那就求余数呗,如果有字符的话,不清楚
c语言如何把11位16进制字符串转成16进制数? 5
15楼:会飞的小兔子
#include
#include
voidmain()
//输出值为27
参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。
扩展资料c语言十进制转2~16进制
#include
voidtrans(intdata,intbase)for(k=i-1;k>=0;k--)
if(x[k]<10)
printf("%d",x[k]);
elseif(x[k]<=16)
printf("%c",'a'+x[k]-10);
}intmain(void)
printf("number=%dbase=%d\n",num,base);
trans(num,base);
printf("\n");
return0;}
16楼:匿名用户
主要有两个方法,其实都是对现有函数的使用:
1、方法1: sscanf()
函数名: sscanf
功 能: 从字符串格式化输入
用 法: int sscanf(char *string, char *format[,argument,...]);
以上的 format 为 %x 就是将字符串格式化为 16 进制数例子:#include
voidmain()
输出:26
2、方法2: strtol()
函数名: strtol
功 能: 将字符串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
上面的base就是我们要转换为几进制数
例子:#include
#include
voidmain()
输出:27
17楼:董俊锟
初一看,还以为是要把11进制数转化为16进制数,其实16进制数就是由0~9十个数字以及a~f六个字母组成上面就是16进制数,我猜你是要把它改为纯数字表示,因为我们已经看惯了十进制数
18楼:放狗大师
恐怕没有函数可以直接用了。
自己写个函数遍历字符串即可。
19楼:紫翼魔狼
/* strtol example */
#include #include int main ()
20楼:匿名用户
使用strtol这个方法应该可以实现你要的功能
21楼:
写程序自己算就可以了呀,自己能写不?
22楼:匿名用户
char sztmp[12] = ;
__int64 nret = 0;
for (int i = 10; i >= 0; i--)else if (sztmp[i] >= 'a' && sztmp[i] <= 'f')
else
for (int j = 10; j > i; j--)nret += ntmp;}
23楼:匿名用户
#define usrprinthex(hex) {byte bufhex; bufhex=hex>>4;\
if(bufhex<=9)\
puart->write('0'+bufhex);
else puart->write('a'+bufhex-0x0a);\
如何把16进制字符串转换成相应的16进制数
24楼:匿名用户
主要有两个方法,其实都是对现有函数的使用:
方法1: sscanf()
函数名: sscanf
功 能: 从字符串格式化输入
用 法: int sscanf(char *string, char *format[,argument,...]);
以上的 format 为 %x 就是将字符串格式化为 16 进制数例子:#include
void main()
输出:26
方法2: strtol()
函数名: strtol
功 能: 将字符串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
上面的base就是我们要转换为几进制数
例子:#include
#include
void main()
输出:27
其实还有一种方法,就是用一个初始化为0~9~a~f的字符串数组,也就是一个十六进制对应表,用这个对应表即可算出一个十六进制字符串的数值,但这种发发太麻烦了,不推荐使用。