计算机语言

机器数

定义

是数字在计算机中的二进制表示形式,机器数是带符号的,在计算机中,用一个数的最高位存放符号,正数为0,负数为1.

特点

一是符号数字化;

二是其数的大小受机器字长的限制。

真值

因为第一位是符号位,所以机器数的形式值就不等于真正的数值。机器数的真值是带符号位的机器数对应的真正的数值。

原码

正数的原码与负数的原码只有符号位不同,其它位都相同

正数的符号位为0,负数的符号位为1

八位二进制的原码取值范围:[11111111,01111111]即[-127,127]

[+5]原=00000101

[ -5]原=10000101

补码

正数的补码是原码本身

负数的补码是在其原码的基础上,符号位保持不变,其余位取反,最后+1,即反码+1

八位二进制的补码取值范围:[-128,-127] 【[110000000]补=-128,-128并没有原码和反码】

[+5]补=00000101

[ -5]补=11111011

反码

正数的反码是原码本身

负数的反码是在其原码的基础上,符号位保持不变,其余位取反

八位二进制的反码取值范围:[-127,127]

[+5]反=00000101

[ -5]反= 11111010

正数:原码=补码=反码

负数:补码=反码+1

负数的补码就是绝对值的原码全部取反+1,是负数的本身的数字位按位取反+1

你可能感兴趣的:(C语言,c语言)