C语言为什么浮点型没有无符号类型

 时间:2024-10-30 19:33:27

1、我们先说明下一个无符号整型和有符号整型的区别.写个程序来看看。

C语言为什么浮点型没有无符号类型

2、我们直接使用库来写,他在里面定义了signed和unsigned的最大值和最小值。unsigned只有最大值,最小值就是0.

C语言为什么浮点型没有无符号类型

3、从图中可以看出signed int 的表示范围为:-2147483648 ~ 2147483647 (最高位做符号位)。unsigned int 的表示范围为:0 ~ 4294967295 (不保留符号位)

C语言为什么浮点型没有无符号类型

4、那么为什么float会没有无符号呢?我们可以从上面看出,无符号和有符号的区别,整型是采用二进制的。而浮点数却是按照 整数部分,小数部分,指数部分存放的。运算也是分开来运算的。所以unsigned无法作用于float,所以定义无符号的浮点型会出错。

C语言为什么浮点型没有无符号类型

5、这样就可以知道,符号是占用了一个比特位的。所以,一般来说,同类型的signed能够存储的数的绝对值大小是要小于undigned的。

C语言为什么浮点型没有无符号类型

6、在C语言中,计算的时候会类型提升,如果降低会警告,或者无符号类型的值给比这个类型小的有符号类型的值的时候,编译的时候就会警告了。

C语言为什么浮点型没有无符号类型

7、当然,这并不是错误,只是告诉你把大的值给小的值可能会数据丢失。所以最好避免这样的错误。顺便推荐下在windows使用gcc的安装工具是MinGW。

C语言为什么浮点型没有无符号类型
  • python怎么生成exe文件
  • Python编程:如何使用简写if语句
  • vscode怎么样切换powershell为cmd
  • Visual Studio怎么查看函数和变量
  • C语言中的assert函数用法
  • 热门搜索
    我读书我快乐手抄报内容 国庆节主题手抄报图片 拗九节手抄报 节俭手抄报 教师节手抄报图片大全 关于防控疫情的手抄报 防病毒手抄报大全 田园风光手抄报 植树手抄报内容 美丽的秋天手抄报