C语言中的正负数及其输出以及小数

1、符号也是数字的一部分,也要在内存中体现出来。符号只是正负两种情况,用一位(Bit)就足以表示;C语言中规定,把内存的最高位作为符号位

 

2、C语言中规定,在符号位中,用0表示正数、用1表示负数

 

3、C语言允许我们这样做,如果不希望设置符号位,可以在数据类型前面加上unsigned关键字,

例如:unsigned int b=1002;或 unsigned b=1002;

  这样,short、int、long中就没有符号位了,所有的位都用来表示数值,正数的取值范围更大了,这也意味着,使用了unsigned后只能表示正数,不能在表示负数了!加了unsigned的数字称为无符号数未加的数字称为有符号数

  printf不支持以八进制(%0)和十六进制(%x)形式输出有符号数,只有十进制用%d来表示有符号数。用%u来表示无符号数。

4、工作原则:

  1)当以有符号数的形式输出时,printf会读取数字所占的内存,并把最高位作为符号位,把剩下的内存作为数值位。

  2)当以无符号数的形式输出时,printf也会读取数字所占的内存,并把所有内存都作为数值位对待。

对于一个有符号的正数,它的符号位是0;当按照无符号数的形式读取时,符号位就变成了数值位,但该位恰巧是0而不是1;所以对数值不会产生影响,这就好比在一个数字前面加0,有多少个0都不会影响数字的值。

可以说,“有符号的正数的最高位是0”这个巧合才使得%0和%x输出有符号数时才不会出错!

5、注意:虽然部分编译器支持二进制数字的表示,但是却不能使用printf函数输出二进制,这一点比较遗憾!

  若要使输出的八进制或十六进制的前缀也输出,则要在%前加上 # 号。例如:%#0、%#x

6、小数的输出:

  %e以指数形式输出float类型,输出结果中的e小写。

  %le以指数形式输出double类型,输出结果中的e小写。

 1)%g默认最多保留六位有效数字,包括整数部分和小数部分;%f和%e默认保留六位小数,只包括小数部分。

2)%g不会再最后强加0来凑够有效数字的位数,而%f和%e会在最后强加0来凑足小数部分的位数

 

7、数字的默认类型:对于整数,默认为int类型;对于小数,默认是double类型。

  1)在整数后面紧跟l或者L(不区分大小写)表明该数字是long类型

  2)在小数后面紧跟f或F表明数字是float类型

 

8、小数和整数之间的相互赋值:

  1)将整数赋值给小数类型,在小数后面加0就可以了,加几个都无所谓哦!

  2)将小数赋值给整数类型,就得把小数部分丢掉,只能取整数部分,这会改变数字本身的值。直接丢掉小数部分,不是进行四舍五入

 由于将小数赋值给整数类型会“失真”,所以编译器一般会给出警告,让大家引起注意。 

 

转载于:https://www.cnblogs.com/YuanBo-China/p/10684852.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在C语言输出两位小数,可以使用printf函数的格式控制符来控制输出小数位数。例如: ```c float num = 3.14159; printf("%.2f", num); // 输出3.14 ``` 其,"%.2f"表示输出浮点数,且保留两位小数。需要输出几位小数,就将数字2替换为相应的数值即可。 ### 回答2: 在 C 语言,可以使用格式控制符来输出两位小数。下面是几种常用的方法: 1. 使用 "%.2f" 格式控制符: 示例代码:float num = 3.14159; printf("%.2f", num); 这个方法会将浮点数输出为两位小数,四舍五入。 2. 使用 "%.2lf" 格式控制符: 示例代码:double num = 3.14159; printf("%.2lf", num); 这个方法与前一种方法类似,只是用于双精度浮点数。 3. 使用 setprecision 函数: 需要引入 <iomanip> 头文件。 示例代码:float num = 3.14159; cout << setprecision(2) << num; 这个方法会设置输出浮点数的精度为两位小数,四舍五入。 无论使用上述哪种方法,都可以在输出时将浮点数限定为两位小数。请注意,在涉及到数值计算时,浮点数的精度问题可能会导致舍入误差。 ### 回答3: 在C语言,要输出两位小数,可以使用格式化输出函数printf()来实现。可以通过格式控制符%.2f来指定输出小数位数为两位。 示例代码如下: ```c #include <stdio.h> int main() { float number = 3.14159; printf("输出两位小数的浮点数: %.2f\n", number); return 0; } ``` 运行这段代码将输出输出两位小数的浮点数: 3.14 在printf()函数的格式字符串,%.2f表示输出浮点数,并保留两位小数。另外需要注意,如果要输出整数,也可使用类似的方式,只需替换为%d即可。 以上就是在C语言输出两位小数的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值