Java

您所在的位置:网站首页 java如何引用一个对象的内容 Java

Java

2024-04-06 07:13| 来源: 网络整理| 查看: 265

原码、反码、补码的计算方法

做而论道_CS: 整数小数混合,也是可行的。 小数点的位置,你自己记住,就行了。

原码、反码、补码的计算方法

做而论道_CS: 由补码换算到十进制数,也极其简单。 你只需记住:【补码首位的权,是负数】。 一般的八位二进制数,各个位的权是:   128、64、32、16、8、4、2、1; 如果是八位的补码,各个位的权则是:  -128、64、32、16、8、4、2、1。   例如,有一个补码:1110 0000, 它代表的十进制是:-128 + 64 + 32 = -32。 如果,另一个补码:0110 0000, 它代表的十进制是:0 + 64 + 32 = +96。 仅仅使用【进制转换】,不就完事了!

原码、反码、补码的计算方法

做而论道_CS: 弄懂了 “补码“ 的来历,  就可以讨论整数小数的问题了。 八位二进制,共有 256 个数:0 ~ 255。 分成两等份吧:  128 个代表负数:-1 ~ -128;  128 个代表自身: 0 ~ +127。 这个范围就是:-128 ~ +( 128-1 )。 此时,小数点,是在末尾:XXXX XXXX(。)。 计算机专家,把这种形式,称为 “定点整数”。 如果把小数点左移一位,其范围,就应该除以 2; 如果把小数点左移两位,其范围,就应该除以 4; 。。。 如果把小数点左移七位,其范围,就应该除以 128。 这就是计算机专家所说的 ”定点小数“。 即:X(。)XXX XXXX。 其范围就是:-1 ~ +( 1 - 1 / 128 )。 小数点,是可以位于任何位置的。  不一定就是专家所说的定点整数或定点小数。 当然,小数点,是不 “显示” 的。 那么,小数点就究竟在何处?  你编程时,你自己知道就行了。  计算机专家看不懂,就别理他们了。 ------------------- 如果从:符号位原码反码 ...,  开始学习 “补码”、及其表示范围, 你就是误入歧途了。 你看过《卖拐》吧? 但是,老赵,远远比不上这些计算机老师! 这些个计算机专家教授学者,都太能忽悠了。

原码、反码、补码的计算方法

做而论道_CS: 因为,255 (1111 1111),能当-1; 同理,254 (1111 1110),就能当-2; 还有,253 (1111 1101),就能当-3; 。。。 以上这些正数,就是所谓的 “补码”。 你一定能看出,正数、负数的关于式:  负数的补码 = 256 + 该负数。 例如:-50 的补码是什么? 求解:    256 + (-50) = 206,    206 = 1100 1110 (二进制)。 这就求出来了。 那么,所谓的:  机器数真值符号位原码反码补码正数三码相同  负数取反加一符号位不变模符号位也参加运算 ,,, 都是毫无用处的垃圾! -------------------- 零和正数的补码,也可用同样的公式:  正数的补码 = 256 + 该正数。 加上 256,就会出现进位。 把进位舍弃,就是:  正数的补码 = 该正数。 这就证明了:  【零和正数的补码,就是其本身】。 例如:+50 的补码是什么? 求解:你自己算吧。 无论正数负数零,求补码只有一个公式:  某数的补码 = 2^n + 该数。  n 是补码的位数。 这是通用的公式了。 老外的的算术水平太洼了。  什么是进位,什么是舍弃进位,他们弄不懂。 所以,才用 “机器数真值符号位...”,来求补码。 建议你,别跟着老外学数学。 否则,你直接就掉坑里了。

原码、反码、补码的计算方法

做而论道_CS: 计算机中,只有二进制数。 计算机中,并没有什么符号位原码反码补码。 二进制数、十进制数,都是数。 进行计算时,它们都是数,根本不是什么码。 所谓的补码,其来历,是 “舍弃进位”。 并不是 “符号位原码反码取反加一”。 你看十进制数,两位,范围是:0 ~ 99。 那么: 38 + 99 = (一百) 37     38 - 1 = 37 如果你忽略进位,这两种算法,功能就是相同的。 即,舍弃了进位:  正数,就能当做负数;  加法,也就成了减法。 在计算机中应用这个特性,就能省掉减法器。 计算机,使用二进制数。 八位的范围是:0000 0000 ~ 1111 1111。 相当于十进制:0 ~ 255。 这里的 255 (即 1111 1111),就能当做-1 使用。 你用二进制算一下,你就能证明出来。 你只要舍弃进位,就一定能证出来。 +99、+255,都能当做-1, 并不是因为有什么 “符号位” ! 而是因为在进行计算时,舍弃了进位。 你如果不舍弃进位,99、255,就还是正数。 所以说,+99、+255,都是数字。 根本就不是什么什么码!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3