C语言再学习

您所在的位置:网站首页 在excel中负数的输入可以用什么表示 C语言再学习

C语言再学习

2024-07-14 00:05| 来源: 网络整理| 查看: 265

有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:

1、二进制原码

0000 0001  表示 1

1000 0001  表示 -1

这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。

2、二进制补码(最普遍的系统)

区别在于 singned 和 unsigned:

1)如果是无符号字节, 1000 0000 该组合为 128

2)如果是有符号字节, 1000 0000 该组合为 -128

第一种表示数的范围是 0 ~ 255

第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1

3、二进制反码

通过反转位组合中的每一位以形成一个数的负数,例如:

0000 0001  表示 1

1111 1110  表示 -1

这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127

下面重点介绍二进制补码:

计算机中的负数是以其补码形式存在的 补码=原码取反+1

一个字节有8位 可以表示的数值范围在 -128到+127 用二进制表示也就是 10000000 - 01111111(注意:最高位表示符号) 最高位是1的都是负数 最高位是0的都是正数 二进制数是逢二进一 只有0和1两个数字 没有2 如-7 原码是 10000111 然后取反(最高位是符合不用取反)得11111000 加一 得11111001 那么-7的二进制数就是 11111001 再如 -10 原码是 10001010 取反得 11110101 加一得 11110110

那么-10的二进制数就是 11110110

下面就考虑一下这个问题:

#include int main() { char a[1000]; int i; for(i=0; i


【本文地址】


今日新闻


推荐新闻


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