学了原码反码补码,就被这句话误导了:〖带符号数在计算机中,是用补码存储的。〗
这句话,对于整数,还是适用的。
对于小数,还有一种【浮点数】形式,更为通用。
计算机中的各种代码,内容都是 1 和 0,并没有小数点。
那么,小数的小数点,它在何处呢? 这就需要人为的规定。
所以,存放小数,有【定点数】、【浮点数】两种格式。
浮点数实用,但是,结构复杂,一般,都不深入讨论。
定点数虽然简单,但是,表达能力有限,所以,几乎没有人使用。
有些教材,把定点小数作为教学内容,还布置许多的习题!
这都是误导。
特别是,这些教材,都把定点小数,规定为纯小数,不包括整数部分!
那么,运算时,出现整数部分,它该怎么办?
一般来说,小数,应该用【浮点数】格式来存放,不能用补码表示。
建议题主,不要迷恋补码这些没有用的东西。
若考试出这些题,纯属老师无知。
小数的补码,你可以看看图片中的例题。
实际上,小数点是不显示的。
小数点在何处,由编程人自己记住。
2进制表示小数,一般采用浮点表示,即专门有个地方记录小数点的位置。如3.25则可以这样表示:001101 010,其中001101代表325,而010代表小数点在(001101自右往左的)第2位。其实表示方法可能会因不同的编程语言而有所不同,原理是一样的。