进制转换

[复制链接]
1244|4
 楼主| dianz 发表于 2016-5-14 23:41 | 显示全部楼层 |阅读模式
进制转换是很重要的,讨论下,强制把大的数据转成小的,会有丢失
 楼主| dianz 发表于 2016-5-14 23:42 | 显示全部楼层
'\xe0'表示的是十六进制,将他用十进制输出时,竟然出现了意想不到的结果,如果没在 VC 里运行单靠用笔来算的话,那么得到的结果是 224,因为 14*16=224,但是在 VC 里运行的结果却是-32,这是为什么呢,原来在计算机内部 224 以二进制形式存储的是 11100000,最高位是 1,那么计算机会认为是一个负数,而不是我们算得认为的 224,既然是一个负数,那么计算机输出时就要以原码的形式输出,11100000的原码是 10100000,他的十进制是 32,别忘了他的最高位表示的是符号位,所以输出的就是-32 了。这个结果如果仅靠笔算的话还真不好算,因为计算机毕竟不是人,他的算法规则是一定的,不管数怎么变他都按他的预设好的算法规则来
quangg 发表于 2016-5-14 23:53 | 显示全部楼层
进制转换没有数据的丢失吧
飞翔的控制器 发表于 2016-5-15 09:00 | 显示全部楼层
这个没有什么要注意的吧,一般常用的是二进制,十进制,十六进制
zb0830 发表于 2016-5-15 09:04 | 显示全部楼层
在程序中注意其开头的标志
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

369

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部