十六进制字符串转换成十进制数值(32位长整形有符号数据16进制转10进制的方法)

一、整数数据的分类:

十六进制字符

1、基本型、短整型、长整形、无符号型、无符号基本型、无符号短整型、无符号长整形。

二、8位、16位、32位无符号整形数据的区别:可以存储的数据范围不同,因为计算机内部使用二进制,255由10进制转换成二进制为11111111,所以8位整形数据存储范围为0-255即28-1,同理16位存储范围为0-65535即216-1,32位存储范围为:0-4294967295即232-1。

三、无符号整型和有符号整型的区别就是无符号类型可以存放的整数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型,全都储存数字。所以无符号长整形可以存储的数字范围为:0-232-1,有符号长整形存储范围为;-231-231-1

四、可以用后缀“L”或“l”来表示长整型数(long)

十六进制长整型数:0X15L (十进制为21)、0XA5L (十进制为165)

整型数的无符号数的后缀为“U”或“u”。例如:358u、0x38Au、235Lu

五、16进制数前缀为0X或者0x.数码取值为0-9,A-F或者a-f,因为16进制需要有16个符号来表示,所以0-9加上A-F这6个刚好是16个。

合法的16进制数如:0X2B转换成10进制为:2*16+11=43、0XFF转换成10进制为:15+15*16=255。0X10000转换成10进制为1*16*16*16*16=65536。

不合法的16进制数如:128没有前缀,0X12H包含非16进制数码。

六、有符号的整形数据

1.如何判断一个16进制数 是正还是负数?

(1)如果第一位数≥8,则是负数,反之是正数。

总结:

eg:

1.0XA175转换成10进制为:10*16*16*16+1*16*16+7*16+5=41333

2.0X02A175转换成10进制为:

2*164+10*163+1*162+7*161+5=172405

3.ff ff ff 85转换成10进制数为:15*163+15*162+8*16+5-65536=-123

3.10进制数转换成16进制

直接除以16,反向取余。如52转换成16进制。52/16=3余4,余数为4,所以转换的结果为34。

再比如把60536转换成16进制。60536/16=3783余8,3783/16=236余7,236/16=14余12,12对应16进制的c,14对应16进制的e,所以最终转换结果为ec78

问题:1、16进制书写的时候要不要加上前缀0X。为计算机语言。

2、32位16进制数书写的时候应该写几位数,回传数据为一个字节即8位。

3、用16进制表示的时候为什么首位数F,就表示是10进制的负数。

您可以还会对下面的文章感兴趣

最新评论

  1. 山河长路
    山河长路
    发布于:2022-04-27 19:06:22 回复TA
    )、0XA5L (十进制为165)整型数的无符号数的后缀为“U”或“u”。例如:358u、0x38Au、235Lu五、16进制数前缀为0X或者0x.数码取值为0-9,A-F或者a-f,因
  1. 于燕卿承
    于燕卿承
    发布于:2022-04-27 16:29:58 回复TA
    像穷人一样讲价,像绅士一样付账。
  1. 怀菁致香
    怀菁致香
    发布于:2022-04-27 16:29:58 回复TA
    世界上最远的距离不是树与树的距离,而是同根生长的树枝却无法在风中相依。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友