《原码 补码 浮点数》由会员分享,可在线阅读,更多相关《原码 补码 浮点数(7页珍藏版)》请在金锄头文库上搜索。
1、原码 补码 浮点数1 WIN7 计算器技巧:可以单击2 原码下面是+3 的原码0 000 0011下面是-3 的原码1 000 0011原码将最高位作为符号位,其他位为相应的值。原码有缺陷,下面是原码的加法运算:(+3) + (-3) = -6,这显然不符合数学的运算结果。3 补码正数的补码是原码负数的补码符号位不变,其它各位取反加 1对补码进行加法运算没有问题求补码的步骤:(1)、求原码;(2)、由原码求补码,正数的补码为原码负数的补码为最高位不变其他位取反加 1。结论:补码的补码是原码问题: -127 的补码是什么? 答案:它的原码是 11111111,所以补码就是 1 000 0001问
2、题:1 000 0000 的原码还是 1 000 0000,那么它对应的数值是 ?答案:-1 为 1 111 1111-127 为 1 000 0001由上面观察可知,它应该是-128。所以,有符号数的范围是 -128, 127。4 用计算器求补码求-126 的补码?步骤一、输入基本信息步骤二、求值5 浮点数一般 C 语言使用 IEEE 754 标准的浮点数,结构如下:把 32.0 表示成浮点数?(1)、求 32.0 的二进制表示(2)、小数点左移 5 位,得到 M注意 M 总是省略前面的 1(3)、记录小数点的浮动 E 这样求得 E = 132dec, E = 1000 0100bin(4)
3、、正数符号位 S = 0(5)、合成(6)、验证 VS2012浮点数 0x4640E400 是多少?(1)、二进制解析S 正数E = 140decM = 10000001110010000000000bin(2)、还原1.M = 1. 10000001110010000000000binE 127 = 13,小数点右移 13 位(3)、转换成 10 进制11000000111001.0000000000bin = 123456.0dec(4)、验证 VS2012浮点数 0x3D5D2F1B 是多少?(1)、二进制解析S 正数E = 122decM = 10111010010111100011011bin(2)、还原1.M = 1. 10111010010111100011011binE 127 = -5,小数点左移动 5 位(3)、转换成 10 进制0.0000110111010010111100011011bin = 结果为 0.0540000014007dec(4)、验证 VS20126 CODESYS 浮点数CodeSys 是工业上常用的一个编译器,下面对它做研究源代码程序运行的结果与前面的执行结果是一致的 0.054float = 0x3D5D2F1B