个人理解的整数自动转换原则

来源:互联网 发布:竹笛教学的软件 编辑:程序博客网 时间:2024/06/03 19:55


个人理解是下面两点:

1.字节数少的往字节数大的转,因为你字节数少,那不可能让别人把数据阶段了和你做运算,就像路上两个人,一个人说他是建瓯人,另外一个人说他是南平人,那么对于一个不懂建瓯和南平在哪里的人就无法分别出你两归属地是什么关系,于是第一个人就得说我是南平市建瓯市人,另外一个人说他是南平市人,这样这个老外就知道你两其实是同一个地级市的人。


2.有符号的往无符号的转换

都是有符号往无符号转

为什么呢?

计算机在储存数据时,根据系统对数据的类型的判断来决定数据的储存形式及储存区上的内容,而读取数据时,计算机直接从内存上读取储存区上的对应内容。储存区上的内容(如10000100),计算机系统读取上面的内容(就是10000100)直接加以利用,不管原先该值是某值的原码或补码,或什么其他转化而来,所以加入变量a与b对应地址上的数值(不管是原码还是补码或......)是11000000和00000011,则a+b=11000011;也就是说储存区里面的内容根据程序员自己的需求在从储存区取数据时,将数据看成什么样的(是原码还是什么.........),而计算机只认1与0而已。

有符号数转为无符号数,就是求有符号数的补码【其实就是该有符号数在内存上储存的对应数值,——使用补码的数值时就是补码形式的数值所有位都是表示其大小,而不在以补码形式看待该值。(正数补数为原码,负数补码为无符号数的模加上该负数)一般负数求补码就是保持符号位,数值各位取反再加1,结果就为补码


0 0
原创粉丝点击