有任何不懂的问题可以评论区留言,能力范围内都会一一回答
首先我们要了解一件事,就是我们计算通常是用十进制进行运算的,但是计算机内部却是采用的是二进制数,因此当有符号十进制整数转化成二进制运算时,我们就需要注意一些事了。
首先就算我们要了解有符号十进制整数转化成二进制的二表示方式有三种,分别是原码,反码,补码
这三种表示方式均有符号位和数值位两个部分组成,进制序列中首位是符号位,1代表的是负,0代表正,其余位表示数值,也就是数值位
这个地方我以十进制整数转化成二进制原码举例(原码最简单且和十进制数有直接联系)
比如说
1000 0001 表示十进制整数的-1 其中1代表符号位为负 000 0001表示数值位也就是1,共同构成了-1
0000 0011 表示十进制整数的 3 其中0代表符号位为正 000 0011 表示数值位也就是3,两者共同构成了3
有符号十进制整数转化成二进制序列数也是同理哦
比如说-12,这个数是负数所以第一位就是1,这个数的值的大小是12,所以数值位就是000 1100(不含符号可以类比绝对值去理解)因此两者共同构成了二进制序列 1000 1100
再者9,这个数是正的,所以第一位就是0.其次这个数值的大小是9,所以数值位是000 1001,因此两者共同构成了二进制序列,也就是0000 1001
综上我们得出
-1的原码就是1000 0001
3的原码就是0000 0011
-12的原码就是1000 1100
9的原码就是0000 1001
因此我们就学会了:如何将有符号十进制整数转化成二进制原码
补充注意;此处是以8位的二进制序列为例,原码的位数和机器字长有关,通常是字节数(8)的整倍,16位,32位同理,首位是符号位,其余都是数值位
无符号十进制整数转化成原码全是数值位没有符号位