int

int8取值范围是-128 - 127
unsigned int8 0-255

Int16 意思是16位整数(16bit integer),相当于short 占2个字节 -32768 ~ 32767

Int32 意思是32位整数(32bit integer), 相当于 int 占4个字节 -2147483648 ~ 2147483647

Int64 意思是64位整数(64bit interger), 相当于 long long 占8个字节 -9223372036854775808 ~ 9223372036854775807

float

一个float单精度浮点数一般是4bytes(32bit)来表示,由三部分组成:符号位、指数部分(表示2的多少次方)和尾数部分(小数点前面是0,尾数部分只表示小数点后的数字)

双精度64位,单精度32位,半精度自然是16位

float32: 单精度浮点数float的这三部分所占的位宽分别为:1,8,23

float16: 半精度浮点数half的这三部分所占的位宽分别为:1,5,10

半精度是英伟达在2002年搞出来的,双精度和单精度是为了计算,而半精度更多是为了降低数据传输和存储成本。

很多场景对于精度要求也没那么高,例如分布式深度学习里面,如果用半精度的话,比起单精度来可以节省一半传输成本。考虑到深度学习的模型可能会有几亿个参数,使用半精度传输还是非常有价值的。

Google的TensorFlow就是使用了16位的浮点数,不过他们用的不是英伟达提出的那个标准,而是直接把32位的浮点数小数部分截了。据说是为了less computation expensive。。。
其他

Byte 相当于byte(unsigned char) 0 ~ 255

WORD 等于 unsigned short 0 ~ 65535

二进制安全需要记住的取值范围 int8,unsigned int8,float32,Int32相关推荐

  1. int类型取值范围的理解

    C语言中,int表示整数类型,占4Byte,也就是32bit.那么为什么int的取值范围是-2147483648~2147483647(即-(2^31) ~ (2^31 -1))呢? 我们知道,这32 ...

  2. C++中int、long和double的取值范围和最大值,以及32位和64位的差异解读

    前言 一般对于C/C++下int等基本数字类型,主要关注三个维度,长度.取值范围和最大值的宏定义.下面分三个维度说明下. 有三个影响因素: 语言规则限制:比如int是变长,long是定长,double ...

  3. Go语言-int类型取值范围

    相比于C/C++语言的int类型,GO语言提供了多种int类型可供选择,有int8.int16.int32.int64.int.uint8.uint16.uint32.uint64.uint.文章目录 ...

  4. c/c++中int,long,long long的取值范围

    True2009Fans c/c++中int,long,long long的取值范围: unsigned   int   0-4294967295    int   -2147483648-21474 ...

  5. 为什么8位二进制的取值范围是-128~127

    我的疑惑 一个字节8位,其中最高位表示正数和负数,0表示正数,1表示负数.所以能够表示-128-+127. 01111111可以表示+127.正数这一段没有问题,负数这一段有两个疑问 11111111 ...

  6. int / uint 的 取值范围、二进制表示形式、与十进制转换方法

    int / uint 类型 的取值范围: int8: -128 ~ 127 int16: -32768 ~ 32767 int32: -2147483648 ~ 2147483647 int64: - ...

  7. java中 byte 取值范围_【二进制基础-java中byte的取值范围-推导过程】

    java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: 例如 ...

  8. hashmap取值_一万六千字的HashMap深度剖析

    概论 HashMap 是无论在工作还是面试中都非常常见常考的数据结构.比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache ...

  9. c语言中char的取值扩大,C语言中 char 类型的取值范围为什么是-128~127

    我们之前已经说过关于原码.反码和补码的一些东西,如果你没有看过,可以点这里< 你知道原码.反码和补码吗,进来了解一下吧 >看一下 . 好了,可能你不会太想看,所以我们一起再来简单的复习一下 ...

最新文章

  1. android 强制打开gps定位_Android 6.0 默认关闭定位和GPS,开启后默认选省电
  2. mysql主从复制gtid_详解MySQL主从复制实战 - 基于GTID的复制
  3. 海豚的屠宰场--海豚湾
  4. 使用Transformers离线模型(以bert模型为例)
  5. “10亿赌约”董明珠赢了!格力电器2018年总收入超2000亿
  6. 我的docker随笔20:多平台docker镜像下载
  7. ios php mysql实例_php – 从iOS应用程序将图像存储到MYSQL数据库中
  8. Linux进不了进程,既然在Linux中程序不是进程,那么到底什么才算是进程呢?
  9. java url 格式化_String.format()的使用:Java字符串格式化
  10. 超详细Eclipse安装教程
  11. VTD自动驾驶仿真建模软件简述
  12. 04 捷联式惯导系统概要
  13. mysql 怎么存储毫秒_MySQL如何存储毫秒数据
  14. 《C专家编程》读书笔记(1)
  15. mac上可以使用的Windows远程桌面APP
  16. devexpress控件使用笔记
  17. oracle数据库开机自启,oracle数据库开机自动启动
  18. Kinect v2和Intel RealSense D435的三维重建对比
  19. win10总强制更新?教你永久关闭
  20. No module named _lzma

热门文章

  1. Creating a custom ComboBox item renderer in Flex
  2. EXCLE图形插入实例
  3. [资料]Keychain 获取设备唯一
  4. 一键准备Oracle安装
  5. oracle导入数据
  6. 点滴积累【C#】---操作xml,将xml数据显示到treeview
  7. sqlite数据库插入和读取图片数据 (for ios)
  8. 《C和指针》学习备忘
  9. dreamweaver 疑问
  10. 开发过程中的常见问题